Php Json编码参数问题
我收到一条解释以下错误的错误消息Php Json编码参数问题,php,Php,我收到一条解释以下错误的错误消息 json_encode() expects at most 2 parameters, 3 given</p> 您可能正在寻找以下内容: echo json_encode(array($status, $title, $message)); json_encode(array("status"=>$status, "title"=>$title, "message"=>$message)) 或者,正如其他人所建议的那样: ec
json_encode() expects at most 2 parameters, 3 given</p>
您可能正在寻找以下内容:
echo json_encode(array($status, $title, $message));
json_encode(array("status"=>$status, "title"=>$title, "message"=>$message))
或者,正如其他人所建议的那样:
echo json_encode(array($status, $title, $message));
json_encode(array("status"=>$status, "title"=>$title, "message"=>$message))
您可能正在寻找以下内容:
echo json_encode(array($status, $title, $message));
json_encode(array("status"=>$status, "title"=>$title, "message"=>$message))
或者,正如其他人所建议的那样:
echo json_encode(array($status, $title, $message));
json_encode(array("status"=>$status, "title"=>$title, "message"=>$message))
您只能对单个数据结构进行编码。如果有三位数据需要编码,那么必须首先将它们组合成一个数据结构。例如:
echo json_encode(Array("status" => $status, "title" => $title, "message" => $message));
您只能对单个数据结构进行编码。如果有三位数据需要编码,那么必须首先将它们组合成一个数据结构。例如:
echo json_encode(Array("status" => $status, "title" => $title, "message" => $message));
我想你要做的是编码一个数组
public function output($message, $title, $status)
{
switch ($status)
{
case 'Error':
array('status' => 'Error');
break;
case 'Notice':
array('status' => 'Notice');
break;
case 'Success':
array('status' => 'Success');
break;
}
echo json_encode(array($status, $title, $message));
}
output('messageval', 'titleval', 'statusval');
这将输出JSON,如下所示:
["statusval", "titleval", "messageval"]
或者还有一个:
public function output($message, $title, $status)
{
switch ($status)
{
case 'Error':
array('status' => 'Error');
break;
case 'Notice':
array('status' => 'Notice');
break;
case 'Success':
array('status' => 'Success');
break;
}
echo json_encode(array('status'=>$status, 'title'=>$title, 'message'=>$message));
}
output('messageval', 'titleval', 'statusval');
其输出类似于:
{"message":"messageval", "title":"titleval", "status":"statusval"}
另外,您的开关块将不会执行任何操作,因为您没有使用array()生成的数组。我想您尝试的是对数组进行编码
public function output($message, $title, $status)
{
switch ($status)
{
case 'Error':
array('status' => 'Error');
break;
case 'Notice':
array('status' => 'Notice');
break;
case 'Success':
array('status' => 'Success');
break;
}
echo json_encode(array($status, $title, $message));
}
output('messageval', 'titleval', 'statusval');
这将输出JSON,如下所示:
["statusval", "titleval", "messageval"]
或者还有一个:
public function output($message, $title, $status)
{
switch ($status)
{
case 'Error':
array('status' => 'Error');
break;
case 'Notice':
array('status' => 'Notice');
break;
case 'Success':
array('status' => 'Success');
break;
}
echo json_encode(array('status'=>$status, 'title'=>$title, 'message'=>$message));
}
output('messageval', 'titleval', 'statusval');
其输出类似于:
{"message":"messageval", "title":"titleval", "status":"statusval"}
另外,由于您没有使用array()生成的数组,您的开关块将不起任何作用。读取,您使用开关做什么?什么都不做!!这意味着什么?
案例“错误”:
数组('status'=>'Error')强>
我想你想要像下面这样的东西
public function output($message, $title, $status)
{
switch ($status)
{
case 'Error':
array('status' => 'Error');
break;
case 'Notice':
array('status' => 'Notice');
break;
case 'Success':
$output = $title . $message;
echo json_encode($output);
break;
}
}
瑞德,你拿开关干什么?没什么!!这意味着什么?
案例“错误”:
数组('status'=>'Error')强>
我想你想要像下面这样的东西
public function output($message, $title, $status)
{
switch ($status)
{
case 'Error':
array('status' => 'Error');
break;
case 'Notice':
array('status' => 'Notice');
break;
case 'Success':
$output = $title . $message;
echo json_encode($output);
break;
}
}
以下是我的建议,也会起作用:
public function output($Message='', $Title='', $Status=''){
# We make sure our status is perfect.
# We make sure our status will always be what we want and not something different by mistake.
# We default to "Error".
switch(strtoupper($Status)){
default:
$Status = 'error';
break;
case 'NOTICE':
$Status = 'notice';
break;
case 'SUCCESS':
$Status = 'success';
break;
}
# We output the content as JSON
header('Content-Type: application/json');
echo json_encode(array(
'status' => $Status,
'title' => $Title,
'message' => $Message
));
# Done - 0 mean the page end with no error (PHP error !)
exit(0);
}
输出:
output('这是我的消息','这是我的标题','错误')代码>
文件:
以下是我的建议:
public function output($Message='', $Title='', $Status=''){
# We make sure our status is perfect.
# We make sure our status will always be what we want and not something different by mistake.
# We default to "Error".
switch(strtoupper($Status)){
default:
$Status = 'error';
break;
case 'NOTICE':
$Status = 'notice';
break;
case 'SUCCESS':
$Status = 'success';
break;
}
# We output the content as JSON
header('Content-Type: application/json');
echo json_encode(array(
'status' => $Status,
'title' => $Title,
'message' => $Message
));
# Done - 0 mean the page end with no error (PHP error !)
exit(0);
}
输出:
output('这是我的消息','这是我的标题','错误')代码>
文件:
有关json_编码的更多信息,请参阅
有关json_encode的更多信息,请参阅此,因为您给出了错误的参数。请看,我建议您在交换机中使用strtoupper
函数,并且您在交换机中的数组将不在任何位置。您给出了错误的参数。请看,我建议您在交换机中使用strtoupper
函数,并且您在交换机中的数组将不在任何位置。这意味着我可以完全删除它。这意味着我可以完全删除它。但是,我也喜欢这一个。但是,上面使用strtoupper函数和header函数的交换机的用途是什么为什么拥有它们很重要。@KevinSmithstrtoupper
函数将确保如果您写入“eRroR”,它仍将工作并变为“eRroR”。该开关将搜索“错误”而不是“错误”,即使您犯了错误,它最终也会工作。标题很重要。它告诉浏览器/客户端将要发布什么类型的内容。如果内容类型设置不正确,某些客户端将不接受您的服务器应答。正在执行默认设置:case“ERROR”:交换机的可接受语法statement@KevinSmith对看见您甚至可以一个接一个地执行多个case。我知道这一点,但我认为默认值会取代case。我也喜欢这一个。但是,上面使用strtoupper函数和header函数的切换的目的是什么?为什么拥有这些函数很重要。@KevinSmithstrtoupper
函数将确保如果你写了“错误”,它仍然会工作并变成“错误”。该开关将搜索“错误”而不是“错误”,即使您犯了错误,它最终也会工作。标题很重要。它告诉浏览器/客户端将要发布什么类型的内容。如果内容类型设置不正确,某些客户端将不接受您的服务器应答。正在执行默认设置:case“ERROR”:交换机的可接受语法statement@KevinSmith对看见你甚至可以一个接一个地处理多个案例。我知道这一点,但我认为默认情况会取代这个案例。这行不通。如果$status
不是Success
,它将失败。只有当$status
等于Success
时,它才会输出内容。如果程序员错误地输入了错误
,则不会默认和更正任何内容。在这种情况下,您可能不需要json\u编码,您只需要回显“错误发生”代码>所以,我只是贴出来帮助他,他必须做精确的编码代码>,你把东西弄坏了。原因:如果读取输出,则需要读取json和或cusetom消息。这不起作用。如果$status
不是Success
,它将失败。只有当$status
等于Success
时,它才会输出内容。如果程序员错误地输入了错误
,则不会默认和更正任何内容。在这种情况下,您可能不需要json\u编码,您只需要回显“错误发生”代码>所以,我只是贴出来帮助他,他必须做精确的编码代码>,你把东西弄坏了。原因:如果读取输出,则需要读取json和或cusetom消息。