获取无条件的多维数组的第一个元素

时间:2019-09-05 07:14:12

标签: php multidimensional-array

A有一个$_POST数组,其中包含以下内容:

n['haha'] = "temp";
x[a][b][c] = "temp1";
x[a][d][c] = "temp2";
x[a][e][c] = "temp3";
g[1] = "temp4";
a[9][7] = "temp5";

现在,我要获取元素x[a][b][c](满足条件:x[a][][c]的第一个元素)。到目前为止,我已经尝试过array_filter(),但仍然无法获得想要的东西。

到目前为止,我尝试过的另一种方法是,尝试查找数组x[a]的第一个键(它是键b),所以我可以直接从x[a][b][c]中获取值

这是我尝试过的

$arr = x[a];
$want = array_keys($arr)[0];
$final = $arr[$want][c];

1 个答案:

答案 0 :(得分:0)

你快到了!

这应该可以解决问题

<?php

$post = [
    'n' => ['haha' => '...'],
    'x' => [
        'a' => [
            'b' => [
                'c' => 'temp1' 
            ],
            'd' => [
                'c' => 'temp1' 
            ],
            'e' => [
                'c' => 'temp1' 
            ]
        ]
    ]
];


$arr = $post['x'];
$want = array_keys($arr)[0];
$arrrr = array_keys($arr[$want]);

for ($x = 0; $x < count($arrrr); $x++) {
    echo sprintf('%s %s c = ', $want, $arrrr[$x]);
    echo $arr[$want][$arrrr[$x]]['c'] . PHP_EOL;
}

http://sandbox.onlinephpfunctions.com/code/fe0484ab583246a0e7d820baf8216f9ab6ee35fb