我使用
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 (
'width' => '7 in',
'Length' => '25 in',
'Top' => '3 in',
'Bottom' => '3 in',
)
这是我的解决方案:
<?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
)
确保仔细检查 - 您可能将错误的数组传递给 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));
?>
你尝试使用 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]));
结果: 大批 ( [宽度] => 7 英寸 [长度] => 25 英寸 [顶部] => 3 英寸 [底部] => 3 英寸 )
并且你可以动态地做到这一点。如你所愿......简单。
你应该这样做:
> $a = unset($yourArray[0][$key]);
> $b = unset($yourArray[1][$key]);
> array_combine($a, $b);