php - вставка переменной в строку эха


$i = 1
echo '
<p class="paragraph$i">
</p>
'
++i

Попытка вставить переменную в повторяющуюся строку. Приведенный выше код не работает. Как мне преобразовать переменную php в строку echo?

Author: Oliver Charlesworth, 2011-11-08

10 answers

Одинарные кавычки не будут анализировать переменные PHP внутри них. Либо используйте двойные кавычки, либо используйте точку, чтобы расширить эхо.

$variableName = 'Ralph';
echo 'Hello '.$variableName.'!';

ИЛИ

echo "Hello $variableName!";

И в вашем случае:

$i = 1;
echo '<p class="paragraph'.$i.'"></p>';
++i;

ИЛИ

$i = 1;
echo "<p class='paragraph$i'></p>";
++i;
 71
Author: Derek, 2011-11-08 18:07:35

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

$var = 'my variable';
echo "I love ${var}";

Или

$var = 'my variable';
echo "I love {$var}";

Выше будет возвращено следующее: Я люблю свою переменную

 15
Author: Jake, 2014-12-05 05:37:43

Интерполяция переменных не выполняется в одинарных кавычках. Вам нужно использовать двойные кавычки как:

$i = 1
echo "<p class=\"paragraph$i\"></p>";
++i;
 10
Author: codaddict, 2011-11-08 18:02:14
echo '<p class="paragraph'.$i.'"></p>'

Должно сработать.

 6
Author: Ash Burlaczenko, 2011-11-08 18:02:33
echo '<p class="paragrah"' . $i . '">'
 6
Author: rogerlsmith, 2011-11-08 18:02:44
echo '<p class="paragraph'.$i.'"></p>';
 4
Author: Ali Nouman, 2011-11-08 18:03:07

Вот 3 лучших способа сделать это.

Способ первый:

$x = '+3';
echo "1+2$x";

Двойные кавычки (") позволяют просто передать переменную непосредственно в нее.

Второй способ:

$x = '+3';
echo '1+2'.$x;

Если вы не хотите использовать двойные кавычки по какой-либо причине, сделайте это. (.) в основном просто означает "Добавить". Так что, если вы захотите добавить что-то вроде, 1+2+3+4+5 и пусть ваша переменная будет посередине - все, что вам нужно сделать это:

$x = '+3';
echo '1+2'.$x.'+4+5';

Метод 3: (Добавление переменной непосредственно внутри вызываемой переменной)

$x = '+3';
$y = '+4';
$z = '+5';
echo "1+2${"x".$y.$z}";
Output: 1+2+3+4+5

Здесь мы добавляем $y и $z к $x, используя "."; {} расставьте приоритеты в работе внутри него, прежде чем отображать неопределенную переменную.

Это лично очень полезная функция для вызова таких функций, как:

//Add the Get request to a variable.
$x = $_GET['tool'];

//Edit: If you want this if to contain multiple $xresult's change the if's
//Conditon in the "()" to isset($get). Simple. Now just add $xresultprogram
//or whatever.
if($x == 'app') {
    $xresultapp = 'User requested tool: App';
}

//Somewhere down far in HTML maybe...

echo ${"xresult".$x};
//Note: doing ${"xresult".$_GET['tool']} directly wont work.
//I believe this is because since some direct non-echo html was loaded
//before we got to this php section it cant load cause it has already
//Started loading client side HTML and JS.

Это вывело бы $xresultapp, запрошенный пользователем инструмент: Приложение, если бы они это сделали пример.com?инструмент= приложение. Вы можете изменить с помощью оператора else, чтобы определить, что происходит, когда запрашивается что-то другое, кроме приложения и т. Д. Помните, что все чувствительно к регистру, поэтому, если они запросят приложение заглавными буквами, оно не будет выводить $xresultapp.

 3
Author: John123, 2015-09-02 19:37:18

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

$i = 1;
echo "
<p class=\"paragraph$i\">
</p>
";
++i;
 2
Author: Neal, 2011-11-08 18:02:03

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

$i = 1
echo '<p class="paragraph'.$i.'"></p>';
++i; 
 0
Author: 5 revs, 3 users 79%user2155518, 2013-08-07 06:18:34

Иногда "Моя переменная: ${значение}";

 -2
Author: Sherif SALEH, 2014-07-31 17:31:23