我如何从数组复制一个元素:
例如,我有这个数组:
Array
(
[LRDEPN] => 0008.jpg
[OABCFT] => 0030.jpg
[SIFCFJ] => 0011.jpg
[KEMOMD] => 0022.jpg
[DHORLN] => 0026.jpg
[AHFUFB] => 0029.jpg
)
如果我想复制这个:0011.jpg,如何继续?
我想得到这个:
Array
(
[LRDEPN] => 0008.jpg
[OABCFT] => 0030.jpg
[SIFCFJ] => 0011.jpg
[NEWKEY] => 0011.jpg
[KEMOMD] => 0022.jpg
[DHORLN] => 0026.jpg
[AHFUFB] => 0029.jpg
)
答案 0 :(得分:1)
修改强>
看起来你修改了你的问题:)
如果您想拥有一个具有重复值的new
密钥,您可以这样做:
$array_name['NEWKEY'] = $array_name['SIFCFJ']
旧回答:
你不能。
数组不能有多个具有相同键的值。
$arr = array();
$arr['foo'] = 'bar1';
$arr['foo'] = 'bar2'; // this will wipe out bar1
如果你试图复制:
$arr = array();
$arr['foo'] = 'bar1';
$arr['foo'] = 'bar1';
您将使用bar1
本身覆盖与关键foo
相关联的值bar1
。该数组将具有1
键值对而非2
。
答案 1 :(得分:0)
$arr['newkey'] = $arr['oldkey'];
natsort($arr);
答案 2 :(得分:0)
如下所示,将uniqid()函数更改为您的:
<?php
$a=array(
'LRDEPN' => '0008.jpg',
'OABCFT' => '0030.jpg',
'SIFCFJ' => '0011.jpg',
'KEMOMD' => '0022.jpg',
'DHORLN' => '0026.jpg',
'AHFUFB' => '0029.jpg'
);
$i='0011.jpg';
$newArray=array();
foreach($a as $k=>$v){
$newArray[$k]=$v;
if($v==$i) $newArray[uniqid()]=$v;
}
print_r($newArray);
?>
哪个可以帮到你:
Array
(
[LRDEPN] => 0008.jpg
[OABCFT] => 0030.jpg
[SIFCFJ] => 0011.jpg
[4bd014ebf3351] => 0011.jpg
[KEMOMD] => 0022.jpg
[DHORLN] => 0026.jpg
[AHFUFB] => 0029.jpg
)