2012-01-15 4 views
0
$index = 0; 

foreach ($sxml->entry as $entry) { 

    $array + variable index number here = array('title' => $title); 

    $index++; 
} 

Я пытаюсь изменить имя массива в зависимости от моего индекса. Можно ли изменить переменное имя (т. Е. $ Array1, $ array2 $ array3 и т. Д.) В цикле?Изменение имени переменной в цикле

Edit:

После того, как цикл закончен, я сгенерирует номер номер (в зависимости от кол-$ индекса), а затем использовать этот массив ... наверное, это глупо способ достижения того, что Im пытаясь сделать, но у меня нет лучшей идеи.

+1

Мне очень жаль, но это не очень понятно, что вы пытаетесь сделать. Не могли бы вы отредактировать вопрос? Что вы подразумеваете под «изменением имени переменной» и почему вы хотите его изменить? –

+2

Динамические имена переменных никогда не являются хорошей идеей. Вместо этого используйте массив. – KingCrunch

ответ

5

Вы можете попробовать это вместо:

$index = 0; 

$arrays = array(); 

foreach ($sxml->entry as $entry) { 

    $arrays[$index] = array('title' => $title); 

    $index++; 
} 

Хотя это технически возможно делать то, что вы просите, используя массив массивов, вероятно, лучше работать с вами.

Этот тип индексации - это именно то, для чего предназначены массивы, у вас есть много предметов и вы хотите иметь возможность ссылаться на них по числу.

Если у вас нет особой причины использовать имя переменной для представления ее номера, вы, вероятно, будете иметь гораздо более простое время, используя его индекс во внешнем массиве.

+1

, если хотите, индексом может быть и имя, а не нумерация. – ingrid

0

Да, вы можете использовать ассоциированный массив. Генерация строки динамически на основе номера итерации и использование этого в качестве ключа в массиве.

Смежные вопросы