PHP数组 - 重新组合为关联

时间:2012-09-15 20:51:54

标签: php arrays

我使用array_combine()没有成功。任何人都可以帮助我......

来自这个

array
  0 => 
    array
      0 => 
        array
          'traitvalue01' => string 'width'
          'traitvalue02' => string 'Length'
          'traitvalue03' => string 'Top'
          'traitvalue04' => string 'Bottom'
  1 => 
    array
      0 => 
        array
          'trait01' => string '7 in'
          'trait02' => string '25 in'
          'trait03' => string '3 in'
          'trait04' => string '3 in'

到这个

array
    string 'width'  => string '7 in'
    string 'Length' => string '25 in'
    string 'Top'    => string '3 in'
    string 'Bottom' => string '3 in'

4 个答案:

答案 0 :(得分:1)

你应该这样做:

> $a = unset($yourArray[0][$key]); 
> $b = unset($yourArray[1][$key]);
> array_combine($a, $b);

答案 1 :(得分:1)

确保仔细检查 - 您可能将错误的数组传递给array_combine()。

这是我为你拼凑的一个例子。您可以通过PHP二进制文件运行它以查看结果(这是正确的)。

<?php
    $trait_array = array();
    array_push($trait_array, array(array('traitvalue01' => 'width', 'traitvalue02' => 'Length', 'traitvalue03' => 'Top', 'traitvalue04' => 'Bottom')));
    array_push($trait_array, array(array('trait01' => '7 in', 'trait02' => '25 in', 'trait03' => '3 in', 'trait04' => '3 in')));
    $result_array = array_combine($trait_array[0][0],$trait_array[1][0]);
    echo(print_r($result_array,1));
?>

答案 2 :(得分:1)

你尝试使用array_combine吗?

$myarr = array(
              0=>array(
                  0=>array( 
                     'traitvalue01' => 'width',
                     'traitvalue02' => 'Length',
                     'traitvalue03' =>'Top',
                     'traitvalue04' => 'Bottom')),
             1=>array(
                  0=>array( 
                     'trait01' =>'7 in',
                     'trait02' => '25 in',
                     'trait03' => '3 in',
                     'trait04' => '3 in'))
          );

的print_r(array_combine($ myArr,该[0] [0],$ myArr,该[1] [0]));

结果: 排列 (     [width] =&gt; 7英寸     [长度] =&gt; 25英寸     [顶部] =&gt; 3英寸     [Bottom] =&gt; 3英寸 )

你动态地制作它。如你所愿......简单。

答案 3 :(得分:1)

这是我的解决方案:

<?php

$a = array(
        array(
            array(
                'traitvalue01' => 'width',
                'traitvalue02' => 'Length',
                'traitvalue03' => 'Top',
                'traitvalue04' => 'Bottom'
            )
        ),
        array(
            array(
              'trait01' => '7 in',
              'trait02' => '25 in',
              'trait03' => '3 in',
              'trait04' => '3 in'
            )
        )
    );

print_r(array_combine($a[0][0], $a[1][0]));

?>

这是输出:

Array
(
    [width] => 7 in
    [Length] => 25 in
    [Top] => 3 in
    [Bottom] => 3 in
)