当创建一个数组并从数据库中获取某个列的值时,我有一个数组格式是否相同?
$result['user_name']
和$result[0]->user_name
答案 0 :(得分:0)
此时,它只是常规的' PHP。正如@RashFlash指出的那样,在Codeigniter中多次从数据库结果创建一个数组或对象。该文档的目的是:https://www.codeigniter.com/userguide3/database/results.html
因此,您的第一个$result['user_name']
只是引用一个数组,其中键为'user_name'
,后者引用数组中第一个对象的属性。
通常,数据库结果的处理/显示与此基于对象的示例类似(取自上述文档)。
$query = $this->db->query("YOUR QUERY");
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
或
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
答案 1 :(得分:0)
创建数组并从中获取某个列的值时 数据库,我有一个数组格式是否相同?
$result['user_name'] and $result[0]->user_name
在codeigniter中
$query->result() ; // returns object
$query->result_array(); // returns array
$query->row(); // returns object
$query->row_array(); // returns array
在PHP(非常基础)
要访问数组元素,您必须使用[]
或者您没有看到那么多,但您也可以使用的是{}
。
echo $array[0];
echo $array{0};
要访问对象属性,您必须使用->
。
echo $object->property;
如果在另一个对象中有一个对象,则只需使用多个->
即可访问对象属性。
echo $objectA->objectB->property;
访问数组:
$ php -r '$a=array("s"=>123); echo $a{"s"}.PHP_EOL; echo $a["s"].PHP_EOL;'
123
123
访问对象:
php -r '$a=$b=new stdClass; $a->s="test"; $b->t="second"; $a->r=$b; echo $a->s.PHP_EOL; echo $a->r->t.PHP_EOL;'
test
second