是否可以訪問php foreach循環之外的值? 例如:PHP foreach循環訪問外部循環的值
<?php
$array=array('a','b','c');
foreach ($array as $value) {
}
echo $value;
//$value is c.
?>
我需要foreach循環外部訪問$值。 這是PHP的限制嗎? 謝謝, 拉維
是否可以訪問php foreach循環之外的值? 例如:PHP foreach循環訪問外部循環的值
<?php
$array=array('a','b','c');
foreach ($array as $value) {
}
echo $value;
//$value is c.
?>
我需要foreach循環外部訪問$值。 這是PHP的限制嗎? 謝謝, 拉維
基於您的評論:
我想要做的是能夠訪問A B C foreach循環之外。
你可以在陣列中使用方括號語法訪問值:
echo $array[0]; // outputs "a"
由於PHP陣列從零開始默認這意味着你可以使用起始於鍵訪問的數組中的值0
,例如:$array[0]
,$array[1]
等
您可以通過relevant PHP manual page瞭解有關如何訪問數組值的更多信息。
這會幫助你:
<?php
$array = array('a', 'b', 'c');
foreach ($array as $k => $v) {
if($v == "c")
$value = $array[$k];
}
echo $value;
//$value is c.
?>
如果你要搜索一個特定的字符,然後這可以幫助你:
<?php
$array = array('a', 'b', 'c');
if(in_array("c", $array))
$value = $array[(array_search("c", $array))];
echo $value;
//$value is c.
?>
A,B,C,可訪問容易與此:
<?php
echo $array[0]; //a
echo $array[1]; //b
echo $array[2]; //c
?>
循環之後'$ value'已經是'c'了。你的代碼沒有意義。 – Cheery 2014-11-08 03:15:11
我認爲,因爲我理解他的問題,他想將c添加到foreach循環中的變量 – Rizier123 2014-11-08 03:16:06
好吧,我想要做的就是能夠訪問foreach循環之外的b c。 – user2648781 2014-11-08 03:19:14
這是PHP所以我不願意說沒有BU沒有。 如前所述,通過設置一個在範圍外定義的變量是可能的,但foreach具有它自己的範圍自己的局部變量。
你想要它的方式,試圖訪問一個在foreach循環中定義的變量,在這種情況下,外部的$值會導致問題。用於存儲該變量的內存中的位置再次釋放,可能已被其他內容覆蓋。
'$ value'是'c',最後一個,在循環之外。那麼,你的問題是什麼?當你在循環之外時,循環迭代結束,顯示預期的結果。 – Cheery 2014-11-08 03:13:43
我不知道你在做什麼限制,但這是正確的行爲。最後一次迭代它分配了'$'上的'c'的最後一個元素 – Ghost 2014-11-08 03:13:48
指定您的問題更多! – Rizier123 2014-11-08 03:16:37