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

No, $name in do_something() function is not a reference, it is not pass by reference, only pass the value of $car['name'] to $name.

If you want to pass by reference, you could do like below, pass $car as reference.

$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 に答える