Belirtilen anahtar değerde başka diziye bir dizi eklemeniz gerekir

2 Cevap php

Tamam, bu yüzden gibi bir dizi var, ama bu düzende zaman tüm düzenlendiği için garanti değil ...

$array = array(
    'sadness' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'value',
    ),
    'happiness' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value',
    ),
    'peace' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value',
    )
);

Tamam, ben sağ mutluluk anahtarı tanımlandıktan sonra bu dizide atmak istiyorum. Bu mutluluğun sonra doğrudan gitmek gerekir çünkü ben "barış" tuşunu kullanabilirsiniz olamaz ve barış bu dizi değişiklikler olarak mutluluğu sonra gelmeyebilir.

Yani burada ben mutluluğa sonra eklemeniz gerekenler ...

$another_array['love'] = array(
    'info' => 'some info',
    'info2' => 'more info',
    'value' => 'the value of love'
);

Yani mutluluğun sonra doğrudan girilen alır sonra son çıkış bu gibi görünmelidir:

$array = array(
    'sadness' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'value',
    ),
    'happiness' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value',
    ),
    'love' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value of love',
    ),
    'peace' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value',
    )
);

Birisi bu bana bir el verin lütfen. Bu başında ve dizinin sonunda gitmek beri array_shift, array_pop veya array_merge kullanarak, beni hiç yardımcı olmuyor. Ben $ dizideki bir anahtar pozisyonundan sonra doğrudan yerleştirmek gerekir.

Teşekkürler :)

2 Cevap

İki özdeş tuşları ile bir dizi olması için çalışıyoruz 'love'. Bu, mümkün değildir.

EDIT:

Sen yapabilirsin:

$new_array = array();
foreach($array as $k => $v) {
        $new_array[$k] = $v;
        if($k == 'happiness') {
                $new_array['love'] = $another_array['love'];
        }
}

working example

Bu PHP tüm diziler karmaları (ilişkisel diziler) olduğunu anlamadı bana görünüyordu. Yani sipariş etkilemiş olamaz. Eğer belirli bir düzen tanımlamak veya basit bir dizi kullanmak vb sıralama kullanmak gerekir belirli bir düzen olması gerekir

$order = array ('love', 'happiness', 'pease');

$ Dizi erişmek için $ sipariş dizi kullanın. $ Sipariş dizisindeki tuşları 1, 2, 3, ...