array_filter가 호출되기 전에 초기화 된 배열 내부의 값을 비교하려고합니다.array_filter의 콜백 함수에서 비어 있지 않은 배열이 null이됩니다.
배열이 비어 있지 않지만 컨트롤이 array_filter의 콜백 함수 내부로 흐를 때 null이됩니다. 이것에 대한 이유는 무엇일까요?
$stream = $stream_list[$i]['@attributes']; // IS ARRAY
$chargeable_feature = array_filter($applicable_conversions,function($conversion) {
return $conversion['FeatureName'] == $stream['FeaturesUsed'];
// STREAM BECOMES NULL HERE
});
범위가 다릅니다. $ stream을 익명 함수에 전달해보십시오. –
$ stream이 콜백 함수의 범위를 벗어났습니다 .... 아마도'function ($ conversion) use ($ stream) {' –