php foreach循环访问循环外的值


php foreach loop access value outside loop

是否可以访问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可能会导致问题。内存中用于存储该变量的位置再次空闲,可能已被其他内容覆盖。