按键中的字符串对数组值进行分组?

vimes1984

鉴于此数据结构:

array(
         'name one' => 'fred',
         'desc one' => 'lorem ipsum'
         'name two' => 'charles',
         'desc two' => 'lorem ipsum'
);

在php中,我该如何匹配分配给键ONE或TWO的数字值并返回此值:

array(
           'one' => array('name' => 'fred', 'desc' => 'lorem ipsum'),
           'two' => array('name' => 'charles' , 'desc => 'lorem ipsum')
);
达伦

这是一个简单的逻辑问题,这就是您的处理方式(我确定有一个更快的替代方法,但这确实满足您的需求):

$new = array();
foreach($array as $key => $val) {
    list($item, $number) = explode(' ', $key);
    $new[$number][$item] = $val;
}

在上面的示例中,我们使用list()explode()获取所需的变量。即数字“一个”或“两个”以及项目名称,本质上是“名称”和“ desc”。


编辑

如Lajos所述,如果$new[$number]未设置,则此版本将对其进行排序并创建所需的数组:

$new = array();
foreach($array as $key => $val) {
    list($item, $number) = explode(' ', $key);
    // if the array isn't set
    if(!isset($new[$number])) $new[$number] = array();
    $new[$number][$item] = $val;
}

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据字符串值对数组项进行分组

在Javascript中对字符串值对数组进行排序

用字符串对数据框的值进行分组

在Java中对数组中的字符串进行分类和分组

通过匹配关键 php 中的字符串对数组中的项目进行分组

如何按字符串值对数组中的对象数组进行排序?

Spark:按键对数组中的行进行分组

对数组中的字符串进行排序

对数组中的字符串项列表进行排序

从db中按字符串对数组进行排序

使用 jq 对数组中的字符串进行排序

Mongodb-按键对数组进行分组

通过子字符串JavaScript对数组的元素进行分组

linq按子字符串对数组中的字符串进行排序

按键分组json字符串并添加到数组

如何对数据字符串中的唯一值进行字符串计数

使用给定的字符串在python中对数据框进行排序或分组

是否可以使用javascript标记的模板字符串对数组值进行插值?

希望通过子数组中的值对数组进行分组

Swift-对数组中每个字符串中的字符进行排序

如何按键中的字符串将字典递归分组

按键对地图/结构进行分组,然后对数组的关联值求和

先对数字进行排序,然后对字符串数组中的字母进行排序

Java - 对数组中的数字进行排序并保持字符串数组的顺序

通过比较字符串值 swift 对数组进行排序

按对象属性值对数组进行排序,该属性值与第二个数组中的字符串相同

根据对象中键的值对数组中的对象进行分组

按属性值对数组中的对象进行分组

Javascript:根据值对数组中的相似项进行分组