PHP массивы.вставка пары "$ key" => "$ value" в массив с помощью array_push (); - PullRequest
3 голосов
/ 31 декабря 2011

Почему это не сработает?

$slidetotal=1;      
$slideids = array();
    while ($rowcs = mysql_fetch_array($orig_slides_result)) {
    $key = $slidetotal;
    array_push($slideids[$key], $rowcs['id']);
    $slidetotal++;
    }

Я получаю эту ошибку: [phpBB Debug] Примечание PHP: в файле / / / * .php в строке 161: array_push () [function.array-push]: Первый аргумент должен быть массивом

Хотя кто-то прокомментировал, вы можете сделать это с этимстраница: http://php.net/manual/en/function.array-push.php, (найти: "для вставки пары" $ key "=>" $ value "в массив")

Какой следующий лучший способ вставить список из одногозначения в массиве php?Кстати, я действительно не могу поверить, что трудно найти что-то на этом с google.com.Серьезно?

Ответы [ 3 ]

6 голосов
/ 31 декабря 2011

Этот комментарий PHP.net неверен.Это означает, что $rowcs['id'] помещается в массив $slideids[$key], а не в массив $slideids.

. Вместо вызова array_push() вы должны сделать следующее:

$slideids[$key] = $rowcs['id'];
0 голосов
/ 31 декабря 2011

хммм хард-поиск будет работать на Google, я думаю :) в любом случае, ошибка говорит вам все, что вам нужно знать. это означает, что первый аргумент array_push не является массивом, вы передаете array_push единственное значение (строку) ($ slideids [$ key]). Также зачем вам использовать array_push в php? Я бы лучше использовал

$slideids[] = $rowcs['id'];

и то, что вы пытаетесь сделать, это:

$slideids[$key] = $rowcs['id'];

Я думаю ...

0 голосов
/ 31 декабря 2011

Почему бы вам не сделать;

$slidetotal=1;      
$slideids = array();
while ($rowcs = mysql_fetch_array($orig_slides_result)) {
    $slideids[$slidetotal] = $rowcs['id'];
    $slidetotal++;
}

Также вы можете сделать, как показано ниже, если вам не нужен ключ, чтобы начать с 1;

$slideids = array();
while ($rowcs = mysql_fetch_array($orig_slides_result)) {
    $slideids[] = $rowcs['id'];
}
...