以下是CakePHP的find()方法返回的数组示例:
Array
(
[Tutor] => Array
(
[id] => 2
[PersonaId] => 1
)
)
官方文档显示了如何获取记录,但没有显示如何迭代它们甚至读出单个值。我有点迷失在这一点上。我正在尝试获取数组中的[id]
值。这是我尝试过的:
// $tutor is the array.
print_r($tutor[0]->id);
注意(8):未定义的偏移量:0 [APP \ Controller \ PersonasController.php,第43行]
注意事项(8):尝试 获取非对象的属性[APP \ Controller \ PersonasController.php, 第43行
我也试过了:
// $tutor is the array.
print_r($tutor->id);
注意(8):试图获取非对象的属性[APP \ Controller \ PersonasController.php,第44行]
答案 0 :(得分:1)
在对象中使用->
访问属性的方式。你向我们展示的是一个阵列。在该示例中,访问id将需要
$tutor['Tutor']['id']
官方PHP文档,“Accessing array elements with square bracket syntax”:
<?php
$array = array(
"foo" => "bar",
42 => 24,
"multi" => array(
"dimensional" => array(
"array" => "foo"
)
)
);
var_dump($array["foo"]); //"bar"
var_dump($array[42]); //24
var_dump($array["multi"]["dimensional"]["array"]); //"foo"
?>
答案 1 :(得分:0)
返回的值是一个数组,而不是一个对象。这应该有效:
echo $tutor['Tutor']['id'];
或者:
foreach($tutor as $tut){
echo $tut['Tutor']['id'] . '<br />';
}