在PHP中,如何从关联数组的键中提取所有最后的值?

在PHP中,如何从关联数组的键中提取所有最后的值?,php,arrays,Php,Arrays,我的结构如下: $array = [ 'item-1' => [ 'item-child-1', 'item-child-2' ] 'item-2' => [ 'item-child-1', 'item-child-2' , 'item-child-3'] 'item-3' => [ 'item-child-1' ] ]; 在这里,我想返回每个项目-X的最后一个值。在我的情况下,应创建一个新数组: $new_array = [ 'item-1'

我的结构如下:

$array = [
    'item-1' => [ 'item-child-1', 'item-child-2' ]
    'item-2' => [ 'item-child-1', 'item-child-2' , 'item-child-3']
    'item-3' => [ 'item-child-1' ]
];
在这里,我想返回每个项目-X的最后一个值。在我的情况下,应创建一个新数组:

$new_array = [
    'item-1' => 'item-child-2',
    'item-2' => 'item-child-3',
    'item-3' => 'item-child-1'
]
我怎样才能在不进入恶梦循环的情况下实现这一点呢?

一个简单的foreach和end就可以了

<?php

$array = [
    'item-1' => [ 'item-child-1', 'item-child-2' ],
    'item-2' => [ 'item-child-1', 'item-child-2' , 'item-child-3'],
    'item-3' => [ 'item-child-1' ]
];

$expected = [];
foreach($array as $k=>$v){
    $expected[$k]=end($v);
}
print '<pre>';
print_r($expected);
print '</pre>';
演示:

或者使用数组映射非常整洁


演示

啊,当然可以,但这不是一个简单的例子吗?PHP本机?我在一个半复杂的系统中工作,在这个系统中,逻辑已经很复杂/难以理解了。@cool,我已经用一行解决方案编辑了我的答案。再看看
$expected = [];
foreach($array as $k=>$v){
    $expected[$k]=$v[count($v)-1];
}
$output = array_map(function ($arr) {return end($arr);}, $array);