- 論壇徽章:
- 0
|
關(guān)于
<?
$ar = array ( 1,2,3,4);
foreach ($ar as &$item)
{
print_r($item);
}
//step 1
foreach ($ar as $item)
{
//step 2
print_r($item);
}
print_r($ar);
?>
的理解:
step 1
$item 應(yīng)該指向 $ar[3]
然后的循環(huán)一直是沒變過。
第一次step 2循環(huán),把 $ar[0] 賦值給 $item ,這里 $item 是指向 $ar[3]的,所以$ar[3]=1
第二次step 2循環(huán),把 $ar[1] 賦值給 $item ,這里 $item 是指向 $ar[3]的,所以$ar[3]=2
。。。
第四次的時(shí)候
把 $ar[3] 賦值給 $item ,把 $ar[3]在第三次的時(shí)候不是已經(jīng)是3了啊,那不是自己在修改自己,還是3
你可以試試這個(gè)
<?php
$ar = array ( 1,2,3,4);
foreach ($ar as &$item)
{
print_r($item);
}
foreach ($ar as $item)
{
print_r($item);
break;
}
print_r($ar);
?>
看看是不是1231
你也可以試試step 2的2次循環(huán)是不是1232
我覺得你應(yīng)該好好看看c的指針。
[ 本帖最后由 lendy 于 2008-10-21 00:14 編輯 ] |
|