gig*_*o00 1 php json request postman
我有以下代码似乎不工作,以防我使用PHP变量来定义值.另一方面,如果我硬编码值,它工作正常.
$body->append('{
"username": "$username",
"password": "$password",
"attributes": {
"name": "$name",
"surname": "$surname",
"email": "$mail"
}
}');
Run Code Online (Sandbox Code Playgroud)
如果你想在 PHP 中的字符串中传递变量,你必须使用双引号"而不是单引号'。
$foo = "bar";
echo 'Hello $foo'; // Outputs 'Hello $foo'
echo "Hello $foo"; // Outputs 'Hello bar'
Run Code Online (Sandbox Code Playgroud)
下面的代码应该可以工作,它是相同的,但用"(而不是')包裹,并用\".
$body->append("{
\"username\": \"$username\",
\"password\": \"$password\",
\"attributes\": {
\"name\": \"$name\",
\"surname\": \"$surname\",
\"email\": \"$mail\"
}
}");
Run Code Online (Sandbox Code Playgroud)
但是,这样可能会变得非常混乱,相反,您可以.在字符串和变量之间使用连接
'"username": "' . $username . '"
Run Code Online (Sandbox Code Playgroud)
或者只是使用DarkBee 的解决方案,它更适合您的目的。
制作一个数组,然后将json_encode它传递给你的函数
$data = [
"username" => $username,
"password" => $password,
"attributes" => [
"name" => $name,
"surname"=> $surname,
"email" => $mail,
],
];
$body->append(json_encode($data));
Run Code Online (Sandbox Code Playgroud)