[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Имя переменной
SergNV
Имеются 3 переменные:
$p_1[1]=1;
$p_2[1]=9;
$p_3[1]=7;


Требуется вывести их в цикле:
while ($i<3) 
{ echo "$p_$i[1]";
$i++;
}


Вопрос: каков синтаксис написания переменной $p_$i[1], что-бы не возникало ошибки (мы в имени переменной, используем еще одну переменную)? Или такое не возможно правилами написания имени переменной?



Спустя 12 минут, 8 секунд (15.09.2011 - 11:51) Renden написал(а):
SergNV
А зачем так как ты написал?
Можно же так:

$p_1=1;
$p_2=9;
$p_3=7;

Или так:

$p=array(1,9,7);

Спустя 1 минута, 59 секунд (15.09.2011 - 11:53) twin написал(а):
Синтаксис такой примерно:
$p_1[1]=1;
$p_2[1]=9;
$p_3[1]=7;
$i = 0;

while ($i < 3)
{
$arr = 'p_'. ++$i;
$var = $$arr;
echo $var[1];
}
но это страшный говнокодинг.

Спустя 9 минут, 32 секунды (15.09.2011 - 12:03) SergNV написал(а):
Спасибо, работает.
Мало что понимаю, но исходный и чужой код нужно как-то править для работоспособности...

P.S. А можно привести пример, как-бы было наиболее правильно? Но, с условием что переменные типа
$p_1[1]
, а не
$p_1=1;
или
$p=array(1,9,7);
.

Спустя 2 минуты, 13 секунд (15.09.2011 - 12:05) dim написал(а):
echo ${"p_$i"}[1];

Спустя 4 минуты, 17 секунд (15.09.2011 - 12:09) twin написал(а):
Не многим лучше. Все равно говнокодинг.

Тут правильно только одно - изменить архитектуру. Разбирать в цикле кучу массивов, это что то.

Работает так и ладно. На будущее просто знай, так делать нельзя.

Спустя 8 минут, 32 секунды (15.09.2011 - 12:18) dim написал(а):
Цитата
Не многим лучше. Все равно говнокодинг.

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.