Bir dizi öğesinin anahtar değerini değiştirmek için basit bir yol [çoğaltmak]

4 Cevap php

Possible Duplicate:
In PHP, how do you change the key of an array element?

Ben çok boyutlu diziler bir demet okuyorum, ve onlar aracılığıyla kazma ederken bazı tuşlar yanlış olduğunu fark ettik.

Her yanlış anahtar için, ben sadece sıfıra değiştirmek istiyorsanız:

dan:

$array['bad_value']

için:

$array[0]

Ben dizi öğesinin değerini korumak istiyorsanız, ben sadece münferit anahtar ne değiştirmek istiyorum. Öneriler takdir.

Şerefe

4 Cevap

0'a birden tuşlarını değiştirmek eğer değerler değiştirilir ...

Eğer bu şekilde yapabiliriz

$badKey = 'bad_value';
$array[0] = $array[$badKey];
unset($array[$badKey]);

Bruteforce yöntemi:

$array[0] = $array['bad_value'];
unset($array['bad_value']);
$array['0'][] = $array['bad_value'];
unset( $array['bad_value'] );

Sonra $ dizide bir dizi kırık elemanlarının değerleri ile ['0 '] olacaktır.

Eğer anahtarlar nasıl bu konuda herhangi bir sayısal değere değiştirilebilir söylediğim gibi görmeye?

$bad_keys = array('bad_key_1', 'bad_key_2' ...);
$i = 0;
foreach($bad_keys as $bad_key) {
    $array[$i] = $array[$bad_key];
    unset($array[$bad_key]);
    $i++;
}

EDIT: verdim çözüm korkunç ve birden kötü tuşları var gibi gerçekten sorunu çözmek değil, bu daha iyi olmalıdır.