php 配列の参照渡し

phpで配列をいじってた時に普通にいじってると値渡しであることに気づいて参照渡しにする方法を調べた

$items = [
 ['name' => 'apple'],
 ['name' => 'orange'],
 ['name' => 'banana']
];

foreach($items as $item) {
 $item['name'] = 'banana';
}

/** 
 *  この時items = [
 *  ['name' => 'apple'],
 *  ['name' => 'orange'],
 *  ['name' => 'banana']
 * ];のまま
 */

foreach($items as &$item) {
 $item['name'] = 'banana';
}

/** 
 *  この時items = [
 *  ['name' => 'banana'],
 *  ['name' => 'banana'],
 *  ['name' => 'banana']
 * ];となる
 */

関数の引数に参照渡しする場合

public function changeItem(&$items) {
 //略
}

//呼び出す時
changeItem($items);