2017-04-06 3 views
0

私はこのPHPのクロージャの外側に配列を取り込む方法は?

$result = array(); 

     array_map(function($row) use ($result) { 
      $result[$row->id] = array(); 
      $result[$row->id]['geojson'] = $row->geojson; 
     }, $regions); 

$result最後に空であると書きました。

このように配列を取り込むことは可能ですか?

+1

それが動作するはずのように'のvar_dump($地域)何であるか、ルックスを使用することができます:あなたは、参照を使用する必要がありますか? –

答えて

5

$resultこの機能は、外側の配列のコピーであるため、変更してもオリジナルには影響しません。 ; `use (&$result)

array_map(function($row) use (&$result) { 
    $result[$row->id] = array(); 
    $result[$row->id]['geojson'] = $row->geojson; 
}, $regions); 

それとも、単にforeach

foreach ($regions as $row) { 
    $result[$row->id] = array(); 
    $result[$row->id]['geojson'] = $row->geojson; 
} 
関連する問題