【问题标题】:How to Split Array Value same first character into a key and last character into a value如何将数组值相同的第一个字符拆分为键,将最后一个字符拆分为值
【发布时间】:2018-10-12 17:22:17
【问题描述】:

我试图将具有相同第一个字符的数组值拆分为一个键,并将最后一个字符拆分为一个值。这是一个例子。 $数组:

    (
        [0] => a6
        [1] => a7
        [2] => b2
        [3] => b7
        [4] => c7
        [5] => c6
        [6] => d6
        [7] => d7
        [8] => e3
        [9] => e0
     )

我想像这样创建一个新的 $array :

 (          [a] => 67
            [b] => 27
            [c] => 76
            [d] => 67
            [e] => 30    )

到目前为止,我已经尝试过这个功能代码:

function array_split($array, $pieces=2) 
            {   
                if ($pieces < 2) 
                    return array($array); 
                $newCount = ceil(count($array)/$pieces); 
                $a = array_slice($array, 0, $newCount); 
                $b = array_split(array_slice($array, $newCount), $pieces-1); 
                return array_merge(array($a),$b); 
            } 

        $arrayz =  array_split($array, 5);

但是这段代码有以下结果: $arrayz:

(
    [0] => Array
        (
            [0] => a6
            [1] => a7
         )

    [1] => Array
        (
            [0] => b2
            [1] => b7
          )

    [2] => Array
        (
            [0] => c7
            [1] => c6
           )

    [3] => Array
        (
            [0] => d6
            [1] => d7
            )

    [4] => Array
        (
            [0] => e3
            [1] => e0
           )

)

函数应该是什么才能得到结果?

【问题讨论】:

  • 什么是$pieces

标签: php arrays function array-splice


【解决方案1】:

最简单的解决方案:

$res = [];
foreach ($array as $v) {
    $res[$v[0]] = isset($res[$v[0]]) ? $res[$v[0]].$v[1] : $v[1];
}

print_r($res); 

$array['a6','a7','b2', 'b7','c7','c6','d6','d7','e3','e0']

【讨论】:

    【解决方案2】:

    PHP 中的字符串是字符数组,我们可以将字符串作为字符数组处理。

    <?php
    $a=array('a6','a7','b2','b7','c7','c6','d6','d7','e3','e0');
    $x=array();
    foreach($a as $val)
    {
      $x[$val[0]].=$val[1];
    }
    echo '<pre>'; print_r($x);
    ?>
    

    【讨论】:

      猜你喜欢
      • 2022-06-11
      • 2021-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 2022-06-20
      相关资源
      最近更新 更多