Переменная переменная в php
мне Нужно создать переменную с произвольным именем. У меня есть следующий код, который не работает:
$vv = mysql_query("SELECT * FROM $tabela ORDER BY rand() LIMIT 3");
$i=1;
while($v = mysql_fetch_array($vv)){
$vertical.$i=$v['arquivo'];
$i++;
}
echo'
<img src="img/fotos/'.$vertical1.'"> <br>
<img src="img/fotos/'.$vertical2.'"> <br>
<img src="img/fotos/'.$vertical3.'">
';
я Хотел бы запрос я вернусь 3 переменные: $vertical1
, $vertical2
и $vertical3
Примечание: В базе данных в поле 'файл' 'формат' входит в комплект. Ex.: фото.jpg
Примечание.2: я Считаю, что проблема связана с построением $vertical.$i
...
3 answers
Переменные переменные будет выглядеть следующим образом:
$varname = 'vertical' . $i;
$$varname = $v['arquivo'];
Я думаю, это уродливый и грязный, я предпочитаю использовать массив:
<?php
$vv = mysql_query("SELECT * FROM $tabela ORDER BY rand() LIMIT 3");
$vertical = array();
while($v = mysql_fetch_array($vv)) {
$vertical[] = $v['arquivo'];
}
echo '
<img src="img/fotos/'.$vertical[0].'"> <br>
<img src="img/fotos/'.$vertical[1].'"> <br>
<img src="img/fotos/'.$vertical[2].'">
';
PS: Вам нужно, чтобы обновить все ваши звонки, mysql_*
mysqli_*
, поскольку ваш код несовместимы с более новыми версиями PHP.
Я согласен с @bfavaretto ... Код $variavel$i
будет выглядеть немного запутанной. Для увеличения значения с помощью его ответ, я поставил цикл в образы, потому что если вы измените LIMIT
SQL, поэтому вам не нужно повторно добавить тег <img>
, так что он уже делает в одиночку:
<?php
$vv = mysql_query("SELECT * FROM $tabela ORDER BY rand() LIMIT 3");
$vertical = array();
while($v = mysql_fetch_array($vv)) {
$vertical[] = $v['arquivo'];
}
for($i = 0; $i < count($vertical); $i++){
echo '<img src="img/fotos/'.$vertical[$i].'"><br />';
}
Отвечает больше одного, мог бы просто заключить с ключами.
Например:
$str1 = 'a';
$str2 = 'b';
${$str1.$str2} = 'c';
echo $ab;
Что-То более конкретным код вопроса:
$i = '1';
${'vertical'.$i} = 'foo';
echo $vertical1;
Condordo с отзывами о коде, поскольку, что делает затрудняет читаемость. Есть определенные случаи, где могут быть хорошо реализованы, но, кажется, не быть случай, который внес в вопрос. Тем не менее, я не могу судить о том, что делает это правильно или неправильно потому что я не обращая внимания на его бизнес-логики.