如果我使用 PHP 变量来定义值,我有以下代码似乎无法正常工作。另一方面,如果我对值进行硬编码,它就可以正常工作。
$body->append('{
"username": "$username",
"password": "$password",
"attributes": {
"name": "$name",
"surname": "$surname",
"email": "$mail"
}
}');
最佳答案
如果您想在 PHP 中的字符串中传递变量,您必须使用双引号 "
而不是单引号 '
。
$foo = "bar";
echo 'Hello $foo'; // Outputs 'Hello $foo'
echo "Hello $foo"; // Outputs 'Hello bar'
下面的代码应该可以工作,它是相同的,但用 "
包裹(而不是 '
)并用 \"
转义原始引号.
$body->append("{
\"username\": \"$username\",
\"password\": \"$password\",
\"attributes\": {
\"name\": \"$name\",
\"surname\": \"$surname\",
\"email\": \"$mail\"
}
}");
但是,这样会变得非常困惑,您可以在字符串和变量之间使用 .
的连接
'"username": "' . $username . '"
或者只使用 DarkBee's solution这对您的目的来说更优雅一些。
关于php - 将 PHP 变量传递给 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52679809/