【发布时间】:2014-04-17 08:10:15
【问题描述】:
我使用 array_merge() 合并了 2 个具有相同信息但具有不同键的多维数组,我得到了输出:
Array
(
[0] => Array
(
[Ttitle] => lilly
[Price] => 1.75
[Number] => 3
)
[1] => Array
(
[Title] => rose
[Price] => 1.25
[Number] => 15
)
[2] => Array
(
[Title] => daisy
[Price] => 0.75
[Number] => 25
)
[3] => Array
(
[Title] => nettle
[Price] => 2.75
[Number] => 33
)
[4] => Array
(
[Title] => orchid
[Price] => 1.15
[Number] => 7
)
)
如您所见,数组中的第一个键名是Ttitle,其余的是Title。我现在想要的是将所有Ttitle 键(目前只有一个)更改为Title(就像所有其他键一样)。当我使用array_map() 功能时,我设法将所有键更改为Title,但我也删除了所有Title 值,除了我刚刚更改为Ttitle 的Ttitle 键。
代码如下:
if(! empty($notmatchingarray))
{
$completearray = array_merge($notmatchingarray, $datastuff2);
$completearray = array_map(function($complete) {
return array(
'Title' => $complete['Ttitle'],
'Price' => $complete['Price'],
'Number' => $complete['Number'],
);
}, $completearray);
echo "Array which includes each unique enrty from both arrays";
echo "<pre>";
print_r($completearray);
echo "</pre>";
echo "<br/>";
}
这段代码的输出:
Array
(
[0] => Array
(
[Title] => lilly
[Price] => 1.75
[Number] => 3
)
[1] => Array
(
[Title] =>
[Price] => 1.25
[Number] => 15
)
[2] => Array
(
[Title] =>
[Price] => 0.75
[Number] => 25
)
[3] => Array
(
[Title] =>
[Price] => 2.75
[Number] => 33
)
[4] => Array
(
[Title] =>
[Price] => 1.15
[Number] => 7
)
)
我在使用这个array_map() 函数时做错了吗?我应该做其他事情吗?
【问题讨论】:
标签: php arrays multidimensional-array key