PHP使用变量比较多维数组列中的所有值
我有一个多维数组和一个要比较的变量:PHP使用变量比较多维数组列中的所有值,php,multidimensional-array,Php,Multidimensional Array,我有一个多维数组和一个要比较的变量: $var = 1; $arr = array( 0 => array( 'id' => 5 'NumberAssigned' = 1 ), n => array( 'id' => 22 'NumberAssigned' = 1 ) ) 我想将多维数组中NumberAssigned列中的所有值与变量进行比较,如果列中的所有值
$var = 1;
$arr = array(
0 => array(
'id' => 5
'NumberAssigned' = 1
),
n => array(
'id' => 22
'NumberAssigned' = 1
)
)
我想将多维数组中
NumberAssigned
列中的所有值与变量进行比较,如果列中的所有值都与变量匹配,则$var=$var+1
。解决方案是什么?一个选项是使用array\u column
将多维数组变成简单数组。使用array\u unique
获取唯一值。如果只有一个唯一值且该值与$var
相同,则所有NumberAssigned
与$var
相同
$var = 1;
$arr = array(
0 => array(
'id' => 5,
'NumberAssigned' => 1
),
1 => array(
'id' => 22,
'NumberAssigned' => 1
),
2 => array(
'id' => 23,
'NumberAssigned' => 1
),
);
$num = array_unique(array_column($arr,'NumberAssigned'));
if( count($num) === 1 && $num[0] === $var ) $var++;
无需循环。使用array_列获取所有值并删除array_唯一的重复项。
如果变量在数组中且计数为1,则所有值都与变量匹配
$narr = array_unique(array_column($arr, "NumberAssigned"));
If(in_array($var, $narr) && count($narr) == 1){
$var++;
}Else{
// They are not all 1
}
Echo $var;
解决方案是什么?你试过什么?