Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Json编码参数问题_Php - Fatal编程技术网

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函数的交换机的用途是什么为什么拥有它们很重要。@KevinSmith
strtoupper
函数将确保如果您写入“eRroR”,它仍将工作并变为“eRroR”。该开关将搜索“错误”而不是“错误”,即使您犯了错误,它最终也会工作。标题很重要。它告诉浏览器/客户端将要发布什么类型的内容。如果内容类型设置不正确,某些客户端将不接受您的服务器应答。正在执行默认设置:case“ERROR”:交换机的可接受语法statement@KevinSmith对看见您甚至可以一个接一个地执行多个case。我知道这一点,但我认为默认值会取代case。我也喜欢这一个。但是,上面使用strtoupper函数和header函数的切换的目的是什么?为什么拥有这些函数很重要。@KevinSmith
strtoupper
函数将确保如果你写了“错误”,它仍然会工作并变成“错误”。该开关将搜索“错误”而不是“错误”,即使您犯了错误,它最终也会工作。标题很重要。它告诉浏览器/客户端将要发布什么类型的内容。如果内容类型设置不正确,某些客户端将不接受您的服务器应答。正在执行默认设置:case“ERROR”:交换机的可接受语法statement@KevinSmith对看见你甚至可以一个接一个地处理多个案例。我知道这一点,但我认为默认情况会取代这个案例。这行不通。如果
$status
不是
Success
,它将失败。只有当
$status
等于
Success
时,它才会输出内容。如果程序员错误地输入了
错误
,则不会默认和更正任何内容。在这种情况下,您可能不需要json\u编码,您只需要
回显“错误发生”所以,我只是贴出来帮助他,他必须做精确的编码,你把东西弄坏了。原因:如果读取输出,则需要读取json和或cusetom消息。这不起作用。如果
$status
不是
Success
,它将失败。只有当
$status
等于
Success
时,它才会输出内容。如果程序员错误地输入了
错误
,则不会默认和更正任何内容。在这种情况下,您可能不需要json\u编码,您只需要
回显“错误发生”所以,我只是贴出来帮助他,他必须做精确的编码,你把东西弄坏了。原因:如果读取输出,则需要读取json和或cusetom消息。