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

标签 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' ]
];

我想返回每个item-X的最后值。就我而言,应该创建一个新数组:

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

如何在不进入循环噩梦的情况下实现这一目标?

最佳答案

一个简单的 foreachend() 就可以满足你的需要。

<?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>';

演示 https://3v4l.org/suISW

使用foreach()count()

$expected = [];
foreach($array as $k=>$v){
    $expected[$k]=$v[count($v)-1];
}

演示: https://3v4l.org/nt3oM

ORarray_map() 非常简洁

$output = array_map(function ($arr) {return end($arr);}, $array);

演示 https://3v4l.org/2Zl0l

关于php - 如何从 PHP 中的关联数组的键中提取所有最后的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471551/

相关文章:

Python。我无法将数字从 txt 文件转换为带有 int 的验证器

C - 对结构指针数组进行排序比直接对结构进行排序 (qsort)

PHP、数组和引用

php - 通过 URL 的 JSON 响应不显示

php - 如何使用 Laravel 构建 MySQL 查询

java - 在 PHP 中加密时间戳并在 Java 中解密

Java Math.sin() 无法按预期工作

php - 使用数组查询数据库

javascript - 如何将 PHP 数组值引入 Javascript?

php - file_put_contents php 权限