Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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
如何简化嵌套php数组?_Php_Arrays_Loops_Foreach_Nested - Fatal编程技术网

如何简化嵌套php数组?

如何简化嵌套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,

我正在编写一个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]
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);