2010-04-22 6 views
1

comment je peux reproduire un élément du tableau:dupliquer un élément de tableau php

par exemple, j'ai ce tableau:

Array 
(
    [LRDEPN] => 0008.jpg 
    [OABCFT] => 0030.jpg 
    [SIFCFJ] => 0011.jpg 
    [KEMOMD] => 0022.jpg 
    [DHORLN] => 0026.jpg 
    [AHFUFB] => 0029.jpg 
) 

si je veux dupliquer ceci: 0011.jpg, comment procéder?

je veux obtenir ceci:

Array 
(
    [LRDEPN] => 0008.jpg 
    [OABCFT] => 0030.jpg 
    [SIFCFJ] => 0011.jpg 
    [NEWKEY] => 0011.jpg 
    [KEMOMD] => 0022.jpg 
    [DHORLN] => 0026.jpg 
    [AHFUFB] => 0029.jpg 
) 
+0

Vous ne pouvez pas avoir deux éléments du tableau avec la même clé , expliquez mieux ce que vous devez faire. –

+0

Je veux dupliquer un élément! générer une nouvelle clé avec la valeur que je veux dupliquer! – robertdd

Répondre

0

Quelque chose comme ce qui suit, changer la fonction uniqid() à la vôtre:

<?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); 

?> 

qui vous amène:

Array 
(
    [LRDEPN] => 0008.jpg 
    [OABCFT] => 0030.jpg 
    [SIFCFJ] => 0011.jpg 
    [4bd014ebf3351] => 0011.jpg 
    [KEMOMD] => 0022.jpg 
    [DHORLN] => 0026.jpg 
    [AHFUFB] => 0029.jpg 
) 
1

EDIT:

On dirait que vous avez modifié votre question :)

Si vous voulez avoir une clé new avec la valeur dupliquée vous peut faire:

$array_name['NEWKEY'] = $array_name['SIFCFJ'] 

Ancienne réponse:

Vous ne pouvez pas.

Un tableau ne peut pas avoir plusieurs valeurs avec la même clé.

$arr = array(); 
$arr['foo'] = 'bar1'; 
$arr['foo'] = 'bar2'; // this will wipe out bar1 

Et si vous essayez de reproduire:

$arr = array(); 
$arr['foo'] = 'bar1'; 
$arr['foo'] = 'bar1'; 

vous remplacerez la valeur bar1 associée à la clé foo avec bar1 lui-même. Le tableau aura 1 paire de valeur de clé pas 2.

+0

ok! Je comprends, j'ai édité la question! Je vais générer une nouvelle clé, mais je veux que la valeur soit la même! – robertdd

+0

@robertdd: Avoir une nouvelle clé avec l'ancienne valeur est possible. J'ai mis à jour ma réponse. – codaddict

+0

comment je peux ajouter le $ array_name ['NEWKEY'] juste après $ array_name ['SIFCFJ'] ? – robertdd

0
$arr['newkey'] = $arr['oldkey']; 
natsort($arr); 
Questions connexes