PHP: Dizideki 'boşlukları' Dolum

3 Cevap php

Ben bir php dizi var (bir formda onay kutusu değerleri elde - Eğer onlar ayarlanmadýnda onay kutularını sadece _POST değişkeni göstermek bildiğiniz gibi).

Array
(
    [2] => 0,2
    [3] => 0,3
)

Ben aralık 0-5 arasındaki boşlukları 'doldurmak' için bir yol gerekir. Yani yukarıdaki (ile boş boşlukları dolduran '-1' gibi görünür. Ben dolu bir dizi '-1' ile array_merge() denedim ama işe yaramadı.

Array
(
    [0] => -1
    [1] => -1
    [2] => 0,2
    [3] => 0,3
    [4] => -1
    [5] => -1
)

Ben çözmeye çalışıyorum sorunu ile yanlış yolda gitmiş olabileceğini düşünüyorum, ama ben yedeklemek için bu çözelti içerisine çok fazla zaman koyduk - (!) Seni en aşina eminim bir duygu

Şerefe!

3 Cevap

array_merge çalışmıyor, ama '+' yok!

$a = array(2 => 22, 3 => 33);
$b = $a + array_fill(0, 6, -1);

tuşu sipariş olsa da yanlış olduğunu, bu nedenle ksort bunu isteyebilirsiniz.

Neden sadece bir döngü içinde bunu değil mi?

for ($i = 0; $i <= 5; $i++)
{
    if (!isset($array[$i]))
    {
        $array[$i] = -1;
    }
}

Eğer dizi değişken uzunluğu ise kullanmak isteyeyim:

  for ($i = 0; $i <= sizeof($array); $i++)
    {
        if (!isset($array[$i]))
        {
            $array[$i] = -1;
        }
    }