PHP: заполнение пробелов в массиве - PullRequest
2 голосов
/ 01 апреля 2010

У меня есть массив php (полученный через значения флажков в форме - как вы знаете, флажки отображаются только в переменной _POST, когда они не установлены).

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

Мне нужен способ «заполнить» пробелы в диапазоне 0-5. Так что выше будет выглядеть (заполнение пустых мест с '-1'. Я попытался array_merge() с массивом, заполненным '-1', но это не сработало.

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

Я думаю, что, возможно, я пошел по неверному пути с проблемой, которую пытаюсь решить, но я слишком много времени уделил этому решению, чтобы отказаться - чувство, которое, я уверен, большинство из вас знакомо (!)

Ура!

Ответы [ 3 ]

7 голосов
/ 01 апреля 2010

array_merge не работает, но '+' работает!

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

порядок ключей неправильный, поэтому вы можете ksort его.

5 голосов
/ 01 апреля 2010

Почему бы просто не сделать это в цикле?

for ($i = 0; $i <= 5; $i++)
{
    if (!isset($array[$i]))
    {
        $array[$i] = -1;
    }
}
1 голос
/ 01 апреля 2010

Если ваш массив переменной длины, вы можете использовать:

  for ($i = 0; $i <= sizeof($array); $i++)
    {
        if (!isset($array[$i]))
        {
            $array[$i] = -1;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...