PHP array_chunk - 斯普利特基于变 [英] PHP array_chunk - split based on variable

查看:118
本文介绍了PHP array_chunk - 斯普利特基于变的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能 array_chunk 基于阵列内的值?

阵列

 阵列(
[4f5hfgb] =>阵列(
[0] => ACME
[1] => 4f5hfgb
[2] =>阿伯丁

[sdf4ws] =>阵列(
[0] => ACME
[1] => sdf4ws
[2] =>伯明翰

[dfgdfg54] =>阵列(
[0] => EDNON
[1] => dfgdfg54
[2] =>伯明翰

[345bfg] =>阵列(
[0] => EDNON
[1] => 345bfg
[2] =>伯明翰

[345fgfd] =>阵列(
[0] =>阀
[1] => 345fgfd
[2] =>伯明翰


是否有可能块那些具有相同值 [0]

所需的输出

 阵列(
    [4f5hfgb] =>阵列(
    [0] => ACME
    [1] => 4f5hfgb
    [2] =>阿伯丁
    )
    [sdf4ws] =>阵列(
    [0] => ACME
    [1] => sdf4ws
    [2] =>伯明翰
    )
)阵列(
    [dfgdfg54] =>阵列(
    [0] => EDNON
    [1] => dfgdfg54
    [2] =>伯明翰
    )
    [345bfg] =>阵列(
    [0] => EDNON
    [1] => 345bfg
    [2] =>伯明翰
    )
)阵列(
    [345fgfd] =>阵列(
    [0] =>阀
    [1] => 345fgfd
    [2] =>伯明翰
    )


解决方案

如果我明白你的问题,你想组具有关键相同值的所有元素 0 到同一阵列。你不能做到这一点 array_chunk ,但低于环路产生的分组阵列

  $结果=阵列();的foreach($改编为$ K => $ V){
    $结果[$ V [0] [$ K] = $ V;
}的print_r($结果);

Is it possible to array_chunk based on a value within the array?

Array

Array (
[4f5hfgb] => Array (
[0] => ACME
[1] => 4f5hfgb
[2] => Aberdeen
)
[sdf4ws] => Array (
[0] => ACME
[1] => sdf4ws
[2] => Birmingham 
)
[dfgdfg54] => Array (
[0] => EDNON
[1] => dfgdfg54
[2] => Birmingham 
)
[345bfg] => Array (
[0] => EDNON
[1] => 345bfg
[2] => Birmingham 
)
[345fgfd] => Array (
[0] => VALVE
[1] => 345fgfd
[2] => Birmingham 
)
)

Is it possible to chunk those with the same value in [0]?

Desired output

Array (
    [4f5hfgb] => Array (
    [0] => ACME
    [1] => 4f5hfgb
    [2] => Aberdeen
    )
    [sdf4ws] => Array (
    [0] => ACME
    [1] => sdf4ws
    [2] => Birmingham 
    )
)

Array (
    [dfgdfg54] => Array (
    [0] => EDNON
    [1] => dfgdfg54
    [2] => Birmingham 
    )
    [345bfg] => Array (
    [0] => EDNON
    [1] => 345bfg
    [2] => Birmingham 
    )
)

Array (
    [345fgfd] => Array (
    [0] => VALVE
    [1] => 345fgfd
    [2] => Birmingham 
    )
)

解决方案

If I understand your question, you're trying to group all elements that have the same value for key 0 into the same array. You can't do this with array_chunk but the loop below produces the grouped array

$result = array();

foreach($arr as $k => $v) {
    $result[$v[0]][$k] = $v;
}

print_r($result);

这篇关于PHP array_chunk - 斯普利特基于变的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆