<?php
$fruits = array(' appLE', 'pear3', 'banana--');
$vegetables = array('pea', 'broccoli ');
$processArr = array(&$fruits, &$vegetables);
foreach($processArr as &$array)
foreach($array as &$item)
{
$item = preg_replace('/[^a-z]/i', '', $item);
$item = ucwords(strtolower($item));
}
echo '<pre>';
print_r($fruits);
print_r($vegetables);
结果:
Array
(
[0] => Apple
[1] => Pear
[2] => Banana
)
Array
(
[0] => Pea
[1] => Broccoli
)
问题:
我知道这个$processArr = array(&$fruits, &$vegetables);
,表示传递 , 的引用$fruits
,$vegetables
如果$processArr
改变了,它也会改变$fruits
,$vegetables
但我不明白为什么还要使用 &
in foreach
,谁能给我解释一下?谢谢。
foreach($processArr as &$array)
foreach($array as &$item)