首先看一段**:
<?php$a=array('ab','cd','ef');
$count=3;
foreach($a as $key=>$value)
foreach($a as $key=>$value)
?>
輸出結果是什麼呢?:
string(2) "ab"
string(2) "cd"
string(2) "ef"
我明明在foreach迴圈中對陣列的value進行了改變,但是輸出為什麼沒有變化呢?
接下來我們來乙個可以讓他發生變化的迴圈操作:
<?php$a=array('ab','cd','ef');
$count=3;
foreach($a as $key=>&$value)
foreach($a as $key=>$value)
?>
沒錯,和c++中傳遞引用簡直一模一樣。我們來看一下輸出結果:
string(6) "abcdef"
string(6) "abcdef"
string(6) "abcdef"
總結:在foreach迴圈中,他遍歷的實際上是原來陣列的乙個複製,你對他的任何操作都是對陣列的複製進行的操作,也就是說不會對原陣列造成任何影響。
那麼如何造成影響呢?我認為至少有兩種方案,已給出一種,即使用原陣列的引用。還有一種方式就是在foreach迴圈中用原陣列進行操作。就是這
樣:a[$key]='fsdada';
PHP中的foreach迴圈
php中的foreach語句,常用於遍歷陣列。foreach一般有兩種使用方式 1 只取陣列的值,不取陣列的下標 2 取陣列值,同時也取陣列的下標 以下面的例1和例2來解釋其用法 例1 只取值,不取下標 member array 201201 tom 201203 jack 201211 james...
PHP中foreach迴圈語句
一 語法 foreach array expression as value statement foreach array expression as key value statement foreach語句將遍歷陣列 array expression,每次迴圈時,將當前陣列中的值賦值給 val...
PHP中的foreach迴圈
1 只取陣列的值,不取陣列的下標 取值的形式 foreach array expressionas value statement 遍歷給定的 array expression 陣列。每次迴圈中,當前單元的值被賦給 value 並且陣列內部的指標向前移一步 2 取陣列值,同時也取陣列的下標 取鍵值對...