【发布时间】:2015-09-11 09:08:57
【问题描述】:
我正在编写一个 php Web 应用程序,其中我有一个类似于以下内容的嵌套数组:
$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];inforeach? -
你能显示生成这个数组的代码吗?
-
@Fky 我正在使用 CakePHP 2.7 进行开发,这就是 CakePHP 从 SQL 过程返回数组的方式。
-
我确定有一种方法可以修改您的 sql 构建结果的方式,这样您就不必处理这个问题。您应该向我们展示该代码。
-
或许你可以接受@Uchiha的回答?
标签: php arrays loops foreach nested