Динамическая заливка массива Php - PullRequest
2 голосов
/ 04 февраля 2010

как я могу динамически заполнить следующий массив типов для цикла

   array('items'=>array(
array('label'=>'News', 'url'=>array('/site/index')),
array('label'=>'News2', 'url'=>array('/site/2')),
));

Я новичок в программировании

спасибо за помощь

Ответы [ 3 ]

3 голосов
/ 04 февраля 2010

Попробуйте это:

$arr = array();

for($i = 1; $i <= $count; $i++) {
    $arr[] = array(
        'label' => 'News'.($i > 1 ? $i : ''),
        'url' => $i == 1 ? '/site/index' : '/site/'.$i
    )
}

$result = array('items' => $arr);

И полученный массив будет иметь вид:

array('items' => array(
    array(
        'label' => 'News',
        'url' => '/site/index'
    ),
    array(
        'label' => 'News2',
        'url' => '/site/2'
    ),
    array(
        'label' => 'News3',
        'url' => '/site/3'
    ),
    array(
        'label' => 'News4',
        'url' => '/site/4'
    )
));

.. в зависимости от переменной $count.

2 голосов
/ 04 февраля 2010

for($i = 0; $i < $items; $i++) { //where $items is number of news items if($i == 0) $value = "Index"; else $value = $i+1; $ar["items"]["News".$i] = $value; }

Вы можете получить доступ к массиву в квадратных скобках, используя как буквенно-цифровые, так и чисто цифровые клавиши.В любом случае, я предлагаю прочитать базовый курс php.

0 голосов
/ 04 февраля 2010

использовать для цикла, как:

$items=array();
for($i=1;$i<=$max_count;$i++){
$element = array('label'=>'news'.$i,'url'=>'/site/index'.$i);
$items[] = $element;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...