如何简化嵌套的 php 数组?
How can I simplify a nested php array?
我正在编写一个 php 网络应用程序,其中有一个类似于以下内容的嵌套数组:
$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;
}
谁能建议实现我所追求目标的最有效方法?
谢谢:)
只需将call_user_func_array
用作
$array = call_user_func_array('array_merge', $results);
print_r($array);
我正在编写一个 php 网络应用程序,其中有一个类似于以下内容的嵌套数组:
$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;
}
谁能建议实现我所追求目标的最有效方法?
谢谢:)
只需将call_user_func_array
用作
$array = call_user_func_array('array_merge', $results);
print_r($array);