1
내 마지막 question을 기준으로 다음 두 배열을 array_intersect()
과 어떻게 비교할 수 있습니까? 첫 번째 배열의 값을 두 번째 배열의 내부 배열의 name
값과 비교하고 싶습니다.PHP : advanced array_intersect()
[1] => array('name' => 'banana', 'price' => 123),
나의 현재 해결 방법은 내부 배열의 name
와 2 차 배열을 복제하는 것입니다
// $arrayA
[0] => 'apple',
[1] => 'pineapple',
[2] => 'orange',
...
[299,999] => 'banana'
및
// $arrayB
[0] => array('name' => 'bamboo', 'price' => 123),
[1] => array('name' => 'banana', 'price' => 123),
[2] => array('name' => 'boy', 'price' => 123),
[3] => array('name' => 'ball', 'price' => 123),
[4] => array('name' => 'balloon', 'price' => 123),
[5] => array('name' => 'bazooka', 'price' => 123),
내 예상 된 결과는 다음과 같은 결과를 포함, 배열에있을 것입니다 가치 만. 즉
$arrayB_clone = array();
foreach($arrayB as $inner_array) {
$arrayB_clone[] = $inner_array['name'];
}
$result_index = array_intersect($arrayB_clone, $arrayA);
$result = array();
foreach($result_index as $idx => $v) {
$result[] = $arrayB[$idx]; // value $v is not important now
}
var_dump($result);
하지만 내 배열> 30 만 개 레코드이기 때문에, 그것은 복제 할 때 메모리 & 자원을 많이 소모됩니다. 더 나은 해결책이 있습니까?