Dizideki indeksi sırasını değiştirme (php)

3 Cevap php

Tür bir süre için şimdi bu bir sıkışmış, bu yüzden herhangi bir yardım mutluluk duyacağız. I elemanlarının bir listesini içeren bir dizi (sol) sahiptir, bu amaç sol dizi değerlerle başka diziler (sağ) anahtarları sıralamak için.

Sol dizi

Array
(
    [0] => ID
    [1] => FirstName
    [2] => LastName
    [3] => Address
)

Doğru dizisi

Array
(
    [0] => Array
    (
        [FirstName] => Pim
        [Address] => Finland
        [LastName] => Svensson
        [ID] => 3
    )
    [1] => Array
    (
        [FirstName] => Emil
        [Address] => Sweden
        [LastName] => Malm
        [ID] => 5
    )
)

Ben başarmak için çalışıyorum, bu benzer olacaktır

Array
(
    [0] => Array
    (
        [ID] => 3
        [FirstName] => Pim
        [LastName] => Svensson
        [Address] => Finland
    )

Anyone? :) Oh, I'm running php 5.3, if it helps!

3 Cevap

Ben bir adım geri almak ve gerçekten yapmanız gereken ne bakmak istiyorum. Doğru, dizi birleşmeli, bu nedenle anında doğru elemanı erişebilir? Eğer foreach ile çıktı yazdırmak sürece Yani gerçekten, sırayla olması gerekmez.

Ben aşağıdaki çözümlerden birini öneririm:

  1. Eğer need "doğru" dizi anahtarı sipariş olması durumunda, o zaman benzer veritabanı sorgu / bakmak ve bunları gerektiğinde sırayla sütunları seçin.
  2. Eğer "doğru" dizisindeki o tuşa karşılık gelen değerini yazdırmak, sonra "sol" dizisindeki düzen aramak, yazdırmak istediğiniz foreach kişi.

Well, your question it's uncommon, usually the associative arrays are used to resolve any problems about "position". Anyway, there are many way to do what you are looking for what are you looking for.

Sen listesini kullanabilirsiniz () ama esaslı pozisyon:

foreach($oldArray as $o)
{
    list($firstName,$lastName,$address,$id)=$oldArray;
    $newArray[]=array($id,$firstName,$lastName,$address);
}

Ama sorunu çözmek için en iyi yolu, bunun yerine yeniden-sıralama sonrası doğru sırayla doğrudan dizi doldurmak var :)