如何简化嵌套php数组?
我正在编写一个php web应用程序,其中有一个嵌套数组,看起来类似于以下内容:如何简化嵌套php数组?,php,arrays,loops,foreach,nested,Php,Arrays,Loops,Foreach,Nested,我正在编写一个php web应用程序,其中有一个嵌套数组,看起来类似于以下内容: $results = array( array( array( 'ID' => 1, 'Name' => 'Hi' ) ), array( array( 'ID' => 2,
$results = array(
array(
array(
'ID' => 1,
'Name' => 'Hi'
)
),
array(
array(
'ID' => 2,
'Name' => 'Hello'
)
),
array(
array(
'ID' => 3,
'Name' => 'Hey'
)
)
);
目前,这意味着,当我想使用ID字段时,我必须调用$results[0][0][ID']
,这是一种效率很低的方法,而且有数百条记录的数组很快就会变得杂乱无章。我想缩小数组,这样我就可以调用$results[0]['ID']
我的理解是,使用foreach循环遍历数组中的每一行并更改格式的函数是更改$results
数组格式的最佳方法,但我很难理解foreach循环拥有每个初始数组后该做什么
以下是我目前掌握的代码:
public function filterArray($results) {
$outputArray = array();
foreach ($results as $key => $row) {
}
return $outputArray;
}
有谁能提出最有效的方法来实现我所追求的目标
谢谢:)只需将其用作
只需将其用作
$outputArray[]=$row[0]
在foreach
?你能展示生成这个数组的代码吗?@Fky我正在用CakePHP 2.7开发,这就是CakePHP从SQL过程返回数组的方式。我确信有一种方法可以修改SQL生成结果的方式,这样你就不必处理这个问题了。您应该向我们展示该代码。也许您可以接受@Uchiha?$outputArray[]=$row[0]的答案
在foreach
?你能展示生成这个数组的代码吗?@Fky我正在用CakePHP 2.7开发,这就是CakePHP从SQL过程返回数组的方式。我确信有一种方法可以修改SQL生成结果的方式,这样你就不必处理这个问题了。你应该给我们看一下代码。也许你可以接受@Uchiha?好的,谢谢@splash58好的,谢谢@splash58的答案
$array = call_user_func_array('array_merge', $results);
print_r($array);