Можно ли получить доступ к значению вне цикла php foreach?
Например:
<?php
$array=array('a','b','c');
foreach ($array as $value) {
}
echo $value;
//$value is c.
?>
Мне нужно получить доступ к $ value вне цикла foreach.
Это ограничение php?
Спасибо,
Ravi
На основании вашего комментария:
Я хочу сделать, это иметь возможность получить доступ к b c за пределами цикла foreach.
Вы можете получить доступ к значениям в массиве, используя синтаксис в квадратных скобках:
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 извне может привести к проблемам. Позиция в памяти, которая используется для хранения этой переменной, снова свободна и может быть уже перезаписана чем-то другим.