Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 无法使用print\r()打印数组的内容_Php_Arrays_Wordpress - Fatal编程技术网

Php 无法使用print\r()打印数组的内容

Php 无法使用print\r()打印数组的内容,php,arrays,wordpress,Php,Arrays,Wordpress,我正在开发一个Wordpress网站,允许用户订购x数量的特定产品。我使用cookie在站点上传递订单数据 最初一切正常,当我调用print\r($orderArray)时,将显示包含订单项的array 但是,由于某种原因,$orderArray不再是一个数组。下面的代码将输出而不是数组 function process_order_form_handler() { if(isset($_COOKIE['order_cookie'])){ json_encode($_COOKIE

我正在开发一个
Wordpress
网站,允许用户订购
x
数量的特定产品。我使用
cookie
在站点上传递订单数据

最初一切正常,当我调用
print\r($orderArray)
时,将显示包含订单项的
array

但是,由于某种原因,
$orderArray
不再是一个
数组。下面的代码将输出
而不是数组

function process_order_form_handler() {
    if(isset($_COOKIE['order_cookie'])){
    json_encode($_COOKIE['order_cookie']);
    $orderArray = json_decode($_COOKIE['order_cookie'], true);  

    echo $orderArray;

    $orderTime = date('Y-m-d-H-i-s');
    $orderContent = "Order Request Code: " . $orderTime . "<br/>";
    $orderContent .= "===Order===" . "<br/>";

    //Loop through the Array and print data
    if(is_array($orderArray)){
    foreach($orderArray as $item){
        if(!array_key_exists('comment', $item)){
        $orderContent .= "Stock Code: " . $item['stockCode'] . " Qty: " . $item['quantity'] . "<br/>";
        }else{
        $orderContent .= "Comments: " . $item['comment'];
        }
    }
    }else{
        echo "NOT ARRAY";
    }
    }
}
print_r($_COOKIE['order_COOKIE'])的结果


您正在编码但未分配给任何变量,并尝试解码、更改:

json_encode($_COOKIE['order_cookie']);
$orderArray = json_decode($_COOKIE['order_cookie'], true);
...


我最喜欢的显示var内容的代码段:顺便说一句,您没有分配编码数组;)<代码>json_编码($_COOKIE['order_COOKIE'])此行不起任何作用。您可能希望找到另一种存储数据的方法,因为Cookie有一个限制,如果您的客户端超过该限制,数据将被截断,您将得到无法解释的错误。仍然会导致相同的结果problem@Javacadabra当你打印_r($_COOKIE['order_COOKIE']);…,你会得到什么。。。?不会导致
var\u转储($orderArray)显示
null
@Javacadabra尝试添加echo json\u last\u error\u msg();在json_decode()之后查看是否有error@Javacadabra尝试使用print_r(json_解码(stripslashes($encoded),true));
[{\"stockCode\":\"CBL202659/A\",\"quantity\":\"3\"},{\"stockCode\":\"CBL201764\",\"quantity\":6}]
json_encode($_COOKIE['order_cookie']);
$orderArray = json_decode($_COOKIE['order_cookie'], true);
...
$encoded = json_encode($_COOKIE['order_cookie']);
$orderArray = json_decode($encoded, true);
echo json_last_error_msg(); //check if any error 
...