Как получить переменную 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'