Как получить переменную PHP между одинарными кавычками?

Как я могу получить значение $fbAppPath в оператор PHP ниже?

<? print json_encode(array(array('text' => 'Become A Fan', 'href' => '$fbAppPath'))); ?>

4 ответа

Решение

<? print json_encode(array(array('text' => 'Become A Fan', 'href' => $fbAppPath))); ?>

Вы не можете получить переменную в одной строке кавычки. PHP интерпретирует все строки в одинарных кавычках ТОЧНО, как они появляются. (кроме экранирования одной кавычки)

ЕДИНСТВЕННЫЙ способ получить переменную при использовании одинарных кавычек - вырваться из них:

$foo = 'variable';
echo 'single-quoted-string-'.$foo.'-more-single-quoted-string';

Или же

<? print json_encode(array(array('text' => 'Become A Fan', 'href' => "more text ${fbAppPath} more text"))); ?>

если вы хотите встроить значение переменной в строку. Двойные кавычки важны в этом случае.

Вам не нужны кавычки вокруг переменной, которая уже является строкой.

'I am a string, because I am surrounded by quotes';

$string = 'I am a string, because I am surrounded by quotes';
if (is_string($string)) {
    echo 'Yes, the variable $string is a string, because it contains a string';
}

$anotherString = $string;
if (is_string($anotherString)) {
    echo 'The variable $anotherString is a string as well, because it contains a string as well';
}

$notWhatYouExpect = '$string';
echo $notWhatYouExpect;  // outputs the word '$string'
Другие вопросы по тегам