基于第一个字符值的分组元素数组php

Fadly Dzil

我有一个基于数组的 MySql 数据库。这是数组。

[
  0 => [
    'id' => '1997'
    'lokasi_terakhir' => 'YA4121'
  ]
  1 => [
    'id' => '1998'
    'lokasi_terakhir' => 'PL2115'
  ]
  2 => [
    'id' => '1999'
    'lokasi_terakhir' => 'PL4111'
  ]
]

如何获取lokasi_terakhir按第一个字符分组的元素最好的方法是什么?

这是目标:

[
   "Y" => 1,
   "P" => 2
]

请指教

米克马克库萨

这里有两种精炼的方法。您选择哪一个取决于您的个人喜好(您找不到更好的方法)。

首先,我迭代数组,将lokasi_terakhir的第一个字符$result声明声明中的键如果键在输出数组中尚不存在,则必须将其声明/设置为1. 在它被实例化之后,它可以被递增——我使用的是“预递增”。

第二种方法首先使用lokasi_terakhir每个子数组中的第一个字符映射一个新数组,然后对每个字母的出现次数进行计数。

演示链接

方法#1:(foreach)

foreach($array as $item){
    if(!isset($result[$item['lokasi_terakhir'][0]])){
        $result[$item['lokasi_terakhir'][0]]=1;  // instantiate
    }else{
        ++$result[$item['lokasi_terakhir'][0]];  // increment
    }
}
var_export($result);

方法#2:(功能)

var_export(array_count_values(array_map(function($a){return $a['lokasi_terakhir'][0];},$array)));
// generate array of single-character elements, then count occurrences

输出:(来自任一)

array (
  'Y' => 1,
  'P' => 2,
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

转换数组元素为字符串并打印第一个字符?

按第一个字符对单词进行分组

如何从PHP数组中获取第一个字符

基于第一个字符的拆分列表-Python

查找数组字符串中的第一个字符

PHP将字符串中每个第一个字符的位置放入数组

指针的第一个字符

数组值仅返回第一个字符和附加值

PHP数组获取项目值仅给出第一个字符

无法获得字符串数组中的第一个字符

在Laravel中读取数组的第一个记录而不是第一个字符

mongodb按第一个字符分组

按foreach中的第一个字符对行进行分组

分组表按名称的第一个字符查看

AngularJS指令基于指令名称的第一个字符而中断

读取多维数组仅打印子数组的第一个字符

删除数组的第一个索引的第一个字符?

如何替换bash中数组元素的第一个字符

基于字段的第一个字符的分区配置单元

从Swift中的数组值获取第一个字符

关联数组返回字符串的第一个字符

如何创建基于列的第一个字符进行分组计数的报告?

java:如何从具有独特的第一个字符的数组列表中获取元素

检查字符串的第一个字符是否包含数组中的值

遍历多维数组时如何访问键和第一个字符串值?

PHP foreach 数组只返回第一个字符

如何从数组的每个元素中删除第一个字符 - Javascript

Python 3.8 单元素数组只打印字符串的第一个字符

dataweave 从数组元素中获取第一个字符