Php 搜索数组并根据结果创建数组
我在php中有一个主题的关联数组,第二个值为1或0 e、 g:Php 搜索数组并根据结果创建数组,php,arrays,Php,Arrays,我在php中有一个主题的关联数组,第二个值为1或0 e、 g:([数学]=>1,[科学]=>0,[英语]=>1) 如何创建值为1的新项目数组?i、 e.(数学、英语) 谢谢 这应该可以做到(但需要PHP5.3)-请参阅。如果您可以保证值只能是1或0,那么您可以使用数组_diff()来拾取所有不是0的值 $array = array( 'maths' => 1, 'science' => 0, 'english' =>
([数学]=>1,[科学]=>0,[英语]=>1)
如何创建值为1的新项目数组?i、 e.(数学、英语)
谢谢
这应该可以做到(但需要PHP5.3)-请参阅。如果您可以保证值只能是1或0,那么您可以使用数组_diff()来拾取所有不是0的值
$array = array( 'maths' => 1,
'science' => 0,
'english' => 1);
$newArray = array_diff($array, array(0));
var_dump($newArray);
编辑
或相应的数组_intersect()方法来匹配为的每个值:
$newArray2 = array_intersect($array, array(1));
var_dump($newArray2);
如果希望原始键成为新数组中的值,则只需将该表达式包装在array_keys()函数中。e、 g
$newArray2 = array_keys(array_intersect($array, array(1)));
$array = array( 'maths' => 1,
'science' => 0,
'english' => 1);
$newArray = array_diff($array, array(0));
var_dump($newArray);
$newArray2 = array_intersect($array, array(1));
var_dump($newArray2);
$newArray2 = array_keys(array_intersect($array, array(1)));