Это больше вопрос о том, почему тогда «как сделать», но это уже несколько дней меня раздражает. В настоящее время я немного поработал с CodeIgniter и временно возвращаюсь к PHP из Ruby, меня беспокоит следующая магия области видимости.
<?php $query = $this->db->get('articles', 2);
if ($query->num_rows() > 0)
{
foreach ($query->result_array() as $row)
{
$data[] = $row; # <-- first appearance here
}
return $data; # <--- :S what?!
}
Как видите, я не совсем гуру PHP, но идея локальной области видимости меня беспокоит, что вне цикла foreach переменная «доступна». Итак, я попробовал это внутри представления:
<?php
if($a==1)
{
$b = 2;
}
echo $b;
?>
Что привело к сообщению об ошибке:
Message: Undefined variable: b
В руководстве по PHP рассказывается о локальной области видимости, но мне все еще интересно, почему это происходит, и есть ли особые правила, о которых я не знаю . И это меня пугает :)
Спасибо, что поделились идеями,