解包Cake PHP的compact(...)函数返回的数据结构

时间:2011-11-10 16:56:59

标签: php cakephp

我正在开发一个Cake PHP项目的前端,该项目的后端已经完成了基本/半实现的前端。

在控制器类中,我遇到了这个:

$arr1 = $this->SomeModel->Data1FromDB->find('list');
$arr2 = $this->SomeModel->Data2FromDB->find('list');
$arr3 = $this->SomeModel->Data3FromDB->find('list')

$this->set(compact('arr1', 'arr2', 'arr3'));

我希望以某种方式解压已发送到视图的内容。有谁知道你是如何处理这个数据结构的?

非常感谢:)。

2 个答案:

答案 0 :(得分:4)

您应该只能在视图中按名称arr1,arr2,arr3访问变量。 compact()只创建一个数组:

array('arr1' => $arr1, 'arr2' => $arr2, 'arr3' => $arr3)

答案 1 :(得分:3)

在这种情况下,compact被用作在一个语句中将多个变量设置为视图的快速方法。您可以直接访问它们,就像您要设置到视图的任何其他变量一样。

<?php pr($arr1);?>

<?php pr($arr2);?>

<?php pr($arr3);?>