是否有更好的方法来获得与此相同的结果?
foreach($data['report']->result_array() as $k){
$array[] = $k['id'];
}更好:在这种情况下,意思是更短,更容易阅读,或更好的语法整体。
我是个菜鸟,所以欢迎编程社区的评论/建议/一般智慧!
发布于 2011-01-06 18:13:54
我想不出比这更好的方法了。
当然,如果您能够更改result_array()函数,您可以引入一个新的参数来返回id字段。然而,在我看来,这降低了代码的可读性。
如果您只想从$data‘’report‘加载id,我建议定义一个返回所有id的新的专门方法。
发布于 2011-01-06 18:10:10
如果您只想从$ data‘’report‘的每个元素上的result_array函数返回的数据数组中提取'id’字段,并将其放入一个新的数组中,那么这可能是您所能得到的最有效的。
这件事你觉得有什么麻烦吗?在我看来,它看起来很好(虽然我从来不会将数组变量命名为"$array“--类似于$idArray的名称)--如果这是您必须处理的对象/数据结构的话。尽管如此,我认为这是恰当的评论,等等。
发布于 2011-01-06 18:17:57
$array = array_map(function($k) {
return $k['id'];
}, $data['report']->result_array());您只限于在“循环”中只做一件事情,所以我不知道它是否符合“更好”的条件。只是不一样。
有些人更喜欢map/ good风格的编程,但它在PHP代码中并不常见,因为语法不是最近才引入的好函数和匿名函数。
编辑:删除有关速度比较的部分。
https://stackoverflow.com/questions/4618144
复制相似问题