我希望能够将PHP函数转换为可以在JSON字符串中使用的变量。
我的PHP功能如此:
<?php
function output(){
echo "<pre>";
foreach($_POST as $key => $value){
if(strpos($key,'HIDEME') != true){
echo "<span style='color: black;'><strong>",$key,"</strong>
</span> <span style='color: #2555A4;'>",$value,"</span><br/>";
}
}
echo "</pre>";
}
$output = output();
echo json_encode($output);
?>
函数(output();是我希望变成$ output的东西。 此函数的目的是回显提交表单的键和值。 我试图转动输出();进入$ output,然后使用json_encode希望在以下内容中使用它...
我的JSON的PHP cURL是这样的:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "BLAHBLAHBLAH.COM",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\r\n\"TicketId\": 141,\r\n\"Note\":".json_encode($output).",\r\n\}",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer ".$access_token,
"Cache-Control: no-cache",
"Content-Type: application/json",
"Postman-Token: 577b3128-0836-26e8-c6ff-9619f952f820"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
cURL的目的是使用函数output();。
发布支持票据我的问题是,虽然表单键/值仅与函数一起回显,但将函数转换为$ output报告&#34; NULL&#34;。
将PHP函数转换为变量的正确方法是什么,然后我可以使用它来发布cURL / JSON中的票证?
答案 0 :(得分:1)
在output()
函数中,您打印字符串而不是返回它,这可能会帮助您
function output() {
$out = "<pre>";
foreach($_POST as $key => $value) {
if(strpos($key, 'HIDEME') != true) {
$out .= "<span style='color: black;'><strong>".$key."</strong>"
. "</span> <span style='color: #2555A4;'>".$value."</span><br/>";
}
}
$out .= "</pre>";
return $out;
}
使用.=
,您可以将内容附加到字符串
$a = 'foo'; // 'foo'
$a .= 'bar'; // 'foobar'
另外:说“将一个php函数变成一个json变量”在这里有点误导。实际上你将php函数的返回值编码为json。