Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter/PHP为什么result()必须通过循环?_Php_Arrays_Loops - Fatal编程技术网

Codeigniter/PHP为什么result()必须通过循环?

Codeigniter/PHP为什么result()必须通过循环?,php,arrays,loops,Php,Arrays,Loops,也许我对数组过程/语法的这一部分有一些误解 我想知道的是,为什么一旦我从数据库得到结果,我就必须通过foreach或其他类型的循环 假设我知道我只会从查询中得到一个结果: $query = $this->db->query("MY QUERY LIMIT 1"); 到目前为止,我必须通过一个循环: foreach ($query->result() as $row){ echo $row->title; echo $row->name; echo

也许我对数组过程/语法的这一部分有一些误解

我想知道的是,为什么一旦我从数据库得到结果,我就必须通过foreach或其他类型的循环

假设我知道我只会从查询中得到一个结果:

$query = $this->db->query("MY QUERY LIMIT 1");
到目前为止,我必须通过一个循环:

foreach ($query->result() as $row){
   echo $row->title;
   echo $row->name;
   echo $row->body;
}
有没有一种方法可以不使用循环打印项目(for、foreach或其他)? 比如:

还是别的什么

我尝试的上述方法当然不起作用


也许这只是一个坏习惯。不可能吗?可行吗?或者…?

如果只想得到一个结果,请使用
row()
代替
(或
row\u array()
如果希望将其作为数组而不是对象)

row()
只返回数据集中的第一行(不管有多少行,但通常在只有一行时使用)

作为一个数组:

$row = $this->db->query("MY QUERY LIMIT 1")->row_array();
echo $row['title'];
echo $row['name'];
echo $row['body'];
旁注,您还可以通过传递特定行的编号来返回该行:

$row = $query->row(5); //works also for its analogue ->row_array(5)

作为参考,

如果您只想得到一个结果,请使用
row()
代替
(或
row\u array()
如果希望将其作为数组而不是对象)

row()
只返回数据集中的第一行(不管有多少行,但通常在只有一行时使用)

作为一个数组:

$row = $this->db->query("MY QUERY LIMIT 1")->row_array();
echo $row['title'];
echo $row['name'];
echo $row['body'];
旁注,您还可以通过传递特定行的编号来返回该行:

$row = $query->row(5); //works also for its analogue ->row_array(5)

作为参考,

是的,您可以这样尝试

$data = $query->result();
echo $data->title;

是的,你就这样试试

$data = $query->result();
echo $data->title;
试试这个

获取对象的结果

$row = $this->db->query("MY QUERY LIMIT 1")->row();
echo $row->title;
希望它能有所帮助

试试这个

获取对象的结果

$row = $this->db->query("MY QUERY LIMIT 1")->row();
echo $row->title;

希望能有所帮助

谢谢!这就是为什么!太好了,谢谢!这就是为什么!太好了。你没有看到达米恩更详细和类似的答案吗?你没有看到达米恩更详细和类似的答案吗?