Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Подставка названий переменных


Автор: smilemf 22.1.2008, 11:53
К примеру есть огромный список переменных которые надо вставить в определённую конструкцию

к примеру есть переменные:

$1
$2
$3
$4
$5
$6
...
$20
$21
...

как подставить переменные в помеченные места?
Код

<?php if (!empty(СЮДА ПОДСТАВИТЬ ПЕРЕМЕННУЮ)){
echo (СЮДА ПОДСТАВИТЬ ПЕРЕМЕННУЮ);
}?>


если делать функции то это тоже долго..
можно ли как-нибудь забить названия в БД и пустить в цикл...или ещё как? дайте идей пожалуйста.

Автор: skyboy 22.1.2008, 12:04
Цитата(smilemf @  22.1.2008,  10:53 Найти цитируемый пост)
$1 $2 $3 $4 $5 $6...$20 $21...

занес бы в массив - проходился бы циклом.

Автор: MoLeX 22.1.2008, 12:08
вроде for и while не кто еще не отменял

Автор: GeneralElectric 22.1.2008, 12:13
smilemf, не очень понятна задача. 
Ты шаблонизатор, что ли, пишешь?

в любом случае, как правильно тебе уже написали, "огромного списка переменных" просто не должно быть - для огромных списков служат массивы.

Автор: smilemf 22.1.2008, 12:19
ну вот я занёс в массив несколько переменных
но выдаёт ошибку

Код

$1 = '10';
$2 = '20';

$data = array ('$1', '$2');


Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$'

может я где-то накосячил с синтаксисом?
или может я Вас не правильно понял?

Автор: GeneralElectric 22.1.2008, 12:23
Зачем ты заносишь в массив переменные, вместо того, чтобы заносить сразу значения?

И поясни, наконец, свой вопрос - что значит "подставить переменные"? Для чего это делается и в чем трудности?

Автор: skyboy 22.1.2008, 12:29
учитывая, что вопрос был не о синтаксисе, следующее будет оффтопом:
Цитата(smilemf @  22.1.2008,  11:19 Найти цитируемый пост)
может я где-то накосячил с синтаксисом?

да, имена переменных http://ua.php.net/variables состять только из цифр.
Цитата(php.net)

 A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores

в переводе на русский:
Цитата(php.net)

Корректное имя переменно начинается с буквы или символа подчеркивания, за чем следует произвольное количество букв, цифр и символов подчеркивания


Автор: GeneralElectric 22.1.2008, 12:32
накосячил с синтаксисом ты не "где-то", а в каждой строчке =)
Во-первых, все твои переменные в первом вопросе - вымышленные. Поскольку в PHP имя переменной не может начинаться с цифры.
Во-вторых, обращаясь к переменной, не нужно писать её имя в кавычках. в кавычках в PHP пишутся строки, а не переменные.
В-третьих, одинарная кавычка уж и вовсе ни в какие ворота не лезет. Напиши в своем скрипте код
Код

$data = array ('$1', '$2');
echo $data[0];

посмотри, что он выведет, а после этого вдумчиво прочитай http://php.net/types.string

Но все эти ошибки не имеют отношения к твоему вопросу.

Добавлено через 5 минут и 43 секунды
Ответь, пожалуйста, на вопрос: откуда взялись все эти переменные, и почему их надо "подставлять", а нельзя было написать сразу
Код

<?php if (!empty($1)){
echo ($2);
}?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)