是否可以访问php foreach循环之外的值? 例如:
<?php
$array=array('a','b','c');
foreach ($array as $value) {
}
echo $value;
//$value is c.
?>
我需要在foreach循环之外访问$ value。 这是php的限制吗? 谢谢, 拉维
答案 0 :(得分:0)
这可以帮到你:
<?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
?>
答案 1 :(得分:0)
这是php所以我不愿意说不,但是......不。 如前所述,可以通过设置在作用域外定义的变量,但foreach有自己的局部变量和自己的作用域。
你想要的方式,尝试访问foreach循环中定义的变量,在这种情况下来自外部的$ value会导致问题。用于存储该变量的内存中的位置再次是空闲的,并且可能已被其他内容覆盖。
答案 2 :(得分:0)
根据您的评论:
我想做的是能够访问foreach循环之外的b c。
您可以使用方括号语法访问数组中的值:
echo $array[0]; // outputs "a"
由于默认情况下PHP数组从零开始,这意味着您可以使用从0
开始的键访问数组中的值,例如:$array[0]
,$array[1]
等。< / p>
您可以从relevant PHP manual page了解有关如何访问数组值的详情。