Как получить переменную PHP между одинарными кавычками? - PullRequest
2 голосов
/ 04 февраля 2010

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

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

Ответы [ 4 ]

8 голосов
/ 04 февраля 2010

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

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

$foo = 'variable';
echo 'single-quoted-string-'.$foo.'-more-single-quoted-string';
4 голосов
/ 04 февраля 2010

Или

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

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

3 голосов
/ 04 февраля 2010

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

0 голосов
/ 04 февраля 2010

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

'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'
...