배열을 병합하지 못했습니다. 배열은 다음과 같다 :array_merge()를 사용하여 배열을 병합 할 수없는 이유는 무엇입니까?
$premiumBrands = array();
foreach ($stores as $store) :
$brands = getBrands($store->brands);
echo count($brands['premium']).', ';
if(count($brands['premium']) > 0) {
array_merge($premiumBrands,$brands['premium']);
}
endforeach;
echo count(premiumBrands);
루프의 출력 결과이있다 : I이 사용하는 코드
//var_dump()
array (size=2)
0 =>
object(Brand)[177]
(...)
1 =>
object(Brand)[271]
(...)
2, 0, 0, 1, 0
는;
마지막 출력의 결과는 다음과 같습니다. 0
;
그래서 어떻게 내 배열을 병합 할 수 있습니다 premiumBrands
그래서 그냥 덮어 쓰게됩니다 -
모든 배열의 인덱스 키를 시작하기 때문에
$premiumBrands = $premiumBrands + $brands['premium'];
작동하지 않습니다 [0]
를 사용하십니까?그리고 예, 나는 the docs을 읽었습니다. 아직도 그것을 해결할 수 없습니다.
'$ premiumBrands = array_merge (..)'분명하다? – kero
'$ premiumBrands = array_merge ($ premiumBrands, $ brands [ 'premium']); '? 'array_merge'는 새로운 배열을 반환하고 기존 배열을 변경하지 않습니다. 문서 읽기 - http://php.net/manual/en/function.array-merge.php – Bjorn
그냥 오타입니다. $ premiumBrands입니다. – Steven