2015-03-18 3 views
0

В контроллере приложения cakephp (1.3) я устанавливаю пару переменных массива, когда в представлении я печатаю их в журнале ошибок, они определяются и отображают их значения. Кроме того, когда я регистрирую $ this-> viewVars - я вижу все соответствующие переменные, и ничего не происходит. Однако, когда я пытаюсь передать эти переменные в качестве опции для формы ввода,Определенная переменная php еще не определена

<?php echo $this->Form->input('ages', array('options' => $ages)); ?> 

он жалуется, что переменная $ возраст не определен - как и с другими переменными массива.

Может ли кто-нибудь дать представление о том, что может происходить здесь? Я не понимаю, как я могу записывать переменные в одну строку, но в следующий раз они рассматриваются как неопределенные? (Примечание. Версия PHP - 5.3.20 - приложение устарело). Это проблема с пространством имен, областью определения и т. Д.?

+0

Когда вы печатаете $ age, он печатает в формате массива? – Butterfly

+0

Вы сказали, что $ viewVars показывает массив. Так что «возраст» - это массив, а не переменная? –

+0

@bablu да, он печатает его в формате массива. – user1658296

ответ

0

Прежде всего, необходимо изменить код:

От:

<?php echo $this->Form->input('ages', array('options' => $ages)); ?> 

To:

<?php 
$opts=array('ages' => $ages); 
echo $this->Form->input($opts); 
?> 

И вы можете получить доступ к возрасты через:

$opts['ages']; 
Смежные вопросы