Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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
使用JSON将jQuery对象数组传递给PHP_Php_Jquery_Arrays_Json - Fatal编程技术网

使用JSON将jQuery对象数组传递给PHP

使用JSON将jQuery对象数组传递给PHP,php,jquery,arrays,json,Php,Jquery,Arrays,Json,一旦通过数组,如何访问PHP中的“code”和“type”值? 顺便说一句,我使用的是“jqueryjson”插件。没有任何插件,有没有办法做到这一点 jQuery: $(function(){ function product(code, type) { return { code: code, type: type } } var products = []; produ

一旦通过数组,如何访问PHP中的“code”和“type”值?
顺便说一句,我使用的是“jqueryjson”插件。没有任何插件,有没有办法做到这一点

jQuery:

$(function(){

    function product(code, type) {

        return {
            code: code,
            type: type
        }

    }

    var products = [];

    products.push(product("333", "Product one"), product("444", "Second product"));

    var jsonProducts = $.toJSON(products); 

    $.post(
        "php/process.php",
        {products: jsonProducts},
        function(data){
            $("#result").html(data);
        }
    );


});
PHP:


您应该能够在foreach循环中执行
$product->code
$product->type


顺便说一下,如果要打印数组结构以检查格式,可以使用。

每个数组偏移量都是一个基本对象

foreach ($products as $product)
{
    echo $product->code;
    echo $product->type;
}

我建议您重新阅读上面的示例,以便更好地理解PHP如何将JSON转换为PHP类型

是的,这是我第一次尝试的,但我得到了这样一个结果:“注意:尝试在中获取非对象的属性…”当我打印时,我得到了正确的数组结构:array([code]=>333[type]=>Product one)array([code]=>444[type]=>第二个产品)是的!真管用!但是为什么关联数组不起作用?哦,我知道了!我没有在json_解码中使用“true”来工作。Thanks@elclanrs,添加true作为第二个参数,将JSON解码为关联数组而不是对象。正如您所发现的:)
foreach ($products as $product)
{
    echo $product->code;
    echo $product->type;
}