PHP foreach配列サイクルのいくつかの問題
1660 ワード
リンクを開くと公式マニュアルforeachの紹介が開きます
<?php
/*PHP foreach() ,foreach() , 。
:
*/
foreach (array as $value)
statement
// :
foreach (array as $key => $value)
statement
/* , $value 。 $key。
for , :*/
for($i = 0; $i < 3; $i++)
{
echo $arr[$i];
}
// , foreach , :
foreach ($arr as $value)
{
echo $value;
}
// foreach 。
1.foreach 。
// ,foreach($arr as $value) $arr $value , ,
$arr = array(0,1,2,3,4,5);
foreach($arr as $value){
$arr = array();
echo $value;
}
// 12345
// $arr , ,
$arr = array(0,1,2,3,4,5);
$arr = &$arr;
foreach($arr as $value){
$arr = array();
echo $value;
}
// 0
/* $arr , copy 。
$value , $arr , , $value copy。*/
$arr = array(0,1,2,3,4,5);
foreach($arr as &$value){
$arr = array();
echo $value;
}
// : 0
// , $arr ,$arr :
global $arr;
$arr = array(0,1,2,3,4,5);
foreach($arr as $value){
$arr = array();
echo $value;
}
// : 0
//2. ,
foreach($arr as &$value){}
foreach($arr as $value){}
// 。 :
view sourceprint?
//solution 1
foreach($arr as &$value){}
unset($value);
foreach($arr as $value){}
//solution 2
foreach($arr as &$value){}
foreach($arr as &$value){}
//solution 3
foreach($arr as &$value){}
$arr2 = $arr;
foreach($arr2 as $value){}
//3. foreach , foreach
foreach((array)$arr as $value) {}
?>