- 论坛徽章:
- 0
|
<?php
$name = array("Peter", "Jhon", "Smith");
function ChangeName(&$array){
$array[0] .= " hello";
$array[1] .= " hello";
$array[2] .= " hello";
}
ChangeName($name);
foreach($name as $value)
print $value . "\n";
?>
我使用引用传参(传地址)的方式将数组name传递给ChangeName函数,然后通过通过
$array[0] .= " hello";
$array[1] .= " hello";
$array[2] .= “ hello”;
这三个语句将原数组name修改,成功输出修改后的结果:
Peter hello
Jhon hello
Smith hello
但是当我将ChangeName函数的内容替换为:
function ChangeName(&$array){
foreach($array as $value)
$value .= " hello";
}
之后,就无法改变原数组,输出为:
Peter
Jhon
Smith
或者替换为:
function ChangeName(&$array){
for($i=0; $i<=2; $i++)
$array[i] .= " hello";
}
输出则成了:
Peter
Jhon
Smith
hello hello hello
我是php的初学者,这个地方不是很明白,请大家指教。 |
|