从数组php获取集合元素
我有php中的数组:从数组php获取集合元素,php,arrays,Php,Arrays,我有php中的数组: Array ( [id] => 1 [comp_id] => 1 [transaction_purpose] => 0 [source_of_funds] => 1 [beneficiary_relationship] => 0 [cus_occupation] => 0 [cus_id_image_2] => 0
Array
(
[id] => 1
[comp_id] => 1
[transaction_purpose] => 0
[source_of_funds] => 1
[beneficiary_relationship] => 0
[cus_occupation] => 0
[cus_id_image_2] => 0
[cus_id_image_3] => 0
[ben_id_type] => 0
[ben_id_number] => 1
)
如果valie为1,我只想获取数组key=>value对
结果数组应为:
Array
(
[id] => 1
[comp_id] => 1
[source_of_funds] => 1
[ben_id_number] => 1
)
我试过:
$returnArray = array();
foreach($mainArray as $r){
if($r>0){
array_push($returnArray, $mainArray);
}
}
但是,它给了我4倍的主阵列。有没有办法做到这一点?谢谢..只需使用:
$newarray=array\u过滤器$array,函数$var{
返回$var==1;
};
试试这个:
$returnArray=array\u filter$result
您可以查看PHP函数以了解更多信息。那么,您还希望发生什么
array_push($returnArray, $mainArray);
如果您发现一个元素的值大于0,则将整个原始数组推到新数组上,而不仅仅是刚才测试的键/值
您可能想要:
$newarr = array();
foreach($mainArray as $key => $value) {
if ($value > 0) {
$newarr[$key] = $value;
}
}
这看起来类似于您所问的:无论如何,请查看数组\过滤器。
array_push($returnArray, $mainArray);
$newarr = array();
foreach($mainArray as $key => $value) {
if ($value > 0) {
$newarr[$key] = $value;
}
}