0
$cars = array(
     array('name' => 'Toyota', price => 10000, ...),
     array('name' => 'Ford', price => 20000, ...),
     ...
);

foreach($cars as &$car)
{
   do_something($car['name']);
}
unset($car);

function do_something($name)
{
    ....
}

在 do_something() 函数中,$name 是引用还是值?如果它是一个引用,我如何在循环中检索值并将其传递给函数?

4

1 回答 1

3

不,$namein do_something()function 不是引用,它不是通过引用传递,只传递$car['name']to的值$name

如果你想通过引用传递,你可以像下面这样,$car作为引用传递。

$cars = array(
     array('name' => 'Toyota', price => 10000),
     array('name' => 'Ford', price => 20000)
);

foreach($cars as &$car)
{
   do_something($car);
}

var_dump($cars);

function do_something(&$car)
{
    $car['name'] .= '_changed';
}
于 2012-07-02T11:07:17.053 回答