print_r on array set in view on cake 只打印 'Array'

print_r on array set in view on cake just prints 'Array'

我通过以下方式在我的控制器中设置一个数组:

$messages = array("Apples", "Oranges", "Pears");

$this->set('messages', "$messages");

但是在我的视图中,如果我尝试打印数组:

<?php
     print_r($messages);
?>

我只是得到这个词 'Array' 而不是数组的实际内容。

尝试访问数组的元素似乎也不起作用,例如:

echo $messages[0];

给出 'A'

$this->set('messages', "$messages");

中删除双引号

应该是

$messages = array("Apples", "Oranges", "Pears");

$this->set('messages', $messages);

并且在视图中你可以

<?php
     pr($messages);
?>

尝试将 true 传递给 print_r,并从 $messages 中删除您的引用。

$messages = array("Apples", "Oranges", "Pears");

$this->set('messages', $messages);
print_r($messages, true);

@Prakash 说得对,把“$messages”中的双引号去掉就变成$messages。所以你有 $this->set('$messages', $messages) 并且在你看来 你可以只使用 <?php echo $messages[0] ?> 你应该可以看到 "Apples"。 或者 print_r $messages 会给你:

[0] => "Apples",
[1] => "Oranges",
[2] => "Pears"