日期:2014-05-16  浏览次数:20472 次

PHP 数组
Array
(
    [0] => pid=2
    [1] => action=save
    [2] => 9=a
    [3] => 10=a
    [4] => 14=a
    [5] => 20=a
    [6] => 15=a
    [7] => 15=b
    [8] => 21=a
    [9] => 21=b
    [10] => 16=c
    [11] => 16=d
    [12] => 19=c
    [13] => 19=d
    [14] => 17=we
    [15] => 22=keywork
    [16] => 18=you
    [17] => 23=thanks 
)

上面数组,如何把它转成下面样子:

Array
(
    [0] => pid=2
    [1] => action=save
    [2] => 9=a
    [3] => 10=a
    [4] => 14=a
    [5] => 20=a
    [6] => 15=ab
    [7] => 21=ab
    [8] => 16=cd
    [9] => 19=cd
    [10] => 17=we
    [11] => 22=keywork
    [12] => 18=you
    [13] => 23=thanks 
)
PHP数组

------解决方案--------------------
$a = array(
  'pid=2',
  'action=save',
  '9=a',
  '10=a',
  '14=a',
  '20=a',
  '15=a',
  '15=b',
  '21=a',
  '21=b',
  '16=c',
  '16=d',
  '19=c',
  '19=d',
  '17=we',
  '22=keywork',
  '18=you',
  '23=thanks',
);
foreach($a as $v) list($b[$v][],$v) = array_reverse(explode('=', $v));
array_walk($b, create_function('&$v,$k', '$v="$k=".join("",$v);'));
print_r(array_values($b));
Array
(
    [0] => pid=2
    [1] => action=save
    [2] => 9=a
    [3] => 10=a
    [4] => 14=a
    [5] => 20=a
    [6] => 15=ab
    [7] => 21=ab
    [8] => 16=cd
    [9] => 19=cd