是否可以访问phpforeach循环之外的值?例如:
<?php
$array=array('a','b','c');
foreach ($array as $value) {
}
echo $value;
//$value is c.
?>
我需要访问foreach循环之外的$value。这是php的限制吗?谢谢Ravi
基于您的评论:
我想做的是能够访问foreach循环之外的bc。
可以使用方括号语法访问数组中的值:
echo $array[0]; // outputs "a"
由于PHP数组默认为零,这意味着您可以使用从0
开始的键访问数组中的值,例如:$array[0]
、$array[1]
等。
您可以从相关的PHP手册页面了解更多关于如何访问数组值的信息。
这应该会对您有所帮助:
<?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
?>
它是php,所以我不愿意说不,但。。。不正如前面提到的那样,通过设置范围外定义的变量是可能的,但foreach有自己的局部变量和自己的范围。
按照您想要的方式,尝试访问foreach循环中定义的变量,在这种情况下,从外部访问$value可能会导致问题。内存中用于存储该变量的位置再次空闲,可能已被其他内容覆盖。