Я пытаюсь заполнить массив в PHP следующим образом:Заполнение PHP массива с «для» петли
<?php
$maxPages = 20;
for ($i = 0; $i <= $maxPages; $i++) {
$url = 'http://127.0.0.1/?page='.$i;
$targets = array(
$url => array(
CURLOPT_TIMEOUT => 10
),
);
}
print_r($targets);
?>
Однако, кажется, только для отображения последнего населенного значения:
Array
(
[http://127.0.0.1/?page=20] => Array
(
[13] => 10
)
)
I также попытался изменить: "$ целевых =" на "$ цели [] =", однако он производит этот выход:
[0] => Array
(
[http://127.0.0.1/?page=0] => Array
(
[13] => 10
)
)
[1] => Array
(
[http://127.0.0.1/?page=1] => Array
(
[13] => 10
)
)
[2] => Array
(
[http://127.0.0.1/?page=2] => Array
(
[13] => 10
)
)
в то время как мой желаемый результат:
Array
(
[http://127.0.0.1/?page=0] => Array
(
[13] => 10
)
[http://127.0.0.1/?page=1] => Array
(
[13] => 10
)
[http://127.0.0.1/?page=2] => Array
(
[13] => 10
)
)
Возможно легко исправить, но я не могу видеть это. Может ли кто-нибудь с большим знанием указать мне свою ошибку?
Спасибо!
'$ цели [] = ...' вы переназначение '$ targets' переменной в каждом цикле, а не добавляя к нему – Ankh
Я тоже это пробовал, но он также не дает мне правильный результат, см. Обновленный вопрос. – datether
В этом случае вам нужны $ target [$ url] = array (CURLOPT_TIMEOUT => 10); ' – Ankh