我有一个数组放置在变量$class
由子数组构成,每个子数组包含2个学生ID,我试图找到所有的子数组,包含一定的id
例如11
我想保留所有包含这个id的数组在一个变量中。如何在数组中搜索找到包含特定值的所有子阵列
阵列示例
Array
(
[0] => Array
(
[s1] => 6
[s2] => 37
)
[1] => Array
(
[s1] => 8
[s2] => 11
)
[2] => Array
(
[s1] => 11
[s2] => 48
)
)
代码
foreach ($class as $key => $value) {
if(!in_array($id, $class)){
unset($class[$key]);
}
}
如果(!in_array($ id,$ class)){'to'if(!in_array($ id,$ value)){' - 另外,但这可能归结为个人偏好:我不是在循环播放时改变数组的巨大魅力。尽管在PHP中看起来通常很安全,但我已经习惯于不这么做。在这种特殊情况下,我只需将所有**匹配的**值放入一个新数组中,并保留原始未更改的值。 – ccKep
@ccK仍然得到一个空的Array() – mirvatJ
[适合我的工作?](https://3v4l.org/q29e7)你是否多次使用不同的ID做这些事情?由于您正在修改原始'$ class'数组,所以第二次搜索可能会给出意想不到的结果(例如,搜索“11”后搜索“6”将返回一个空数组,因为第一次搜索会将数组减少为仅包含'11',这两个对中都没有包含'6') – ccKep