【发布时间】:2017-09-05 18:51:54
【问题描述】:
我有这段代码在 $array1 中寻找 $array2。
我遇到的问题是我需要将两个数组都小写,以便 in_array 匹配工作,并且此代码按预期运行,但 $array1 大于 20k 个对象 - 无论如何都可以在不丢失数组结构和循环?
$array1 = array(code => 200, status => success,
array(
'email' => 'Example1223@sample.com',
'status' => 'Pending'
),
array(
'email' => 'example123@sample.com',
'status' => 'Approved: Printed & Cleared'
),
array(
'email' => 'example23@sample.com',
'status' => 'Approved'
),
array(
'email' => 'Example22@sample.com',
'status' => 'Approved: Printed & Cleared'
),
);
$yourArray = array();
$array = array();
foreach ($array1 as &$array){
$yourArray[] = array_map('strtolower', $array);
}
echo "<pre>"; print_r($yourArray);
$array2 = array(
'email' => 'example1223@sample.com',
'status' => 'Pending'
);
$yourArray2 = array_map('strtolower', $array2);
if(in_array($yourArray2 , $yourArray)) {
echo "match";
} else {
echo "no match";
}
echo "<pre>"; print_r($yourArray2);
【问题讨论】:
-
请注意
array_walk和array_walk_recursive都可以做到这一点