2011-03-25 83 views
2

如何在PHP中通过数组后访问“代码”和“类型”值?
顺便说一句,我正在使用“jquery-json”插件。有没有办法做到这一点,没有任何插件?将jQuery对象数组传递给PHP,使用JSON

的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:

<?php 

$products = json_decode($_POST["products"], true); 

foreach ($products as $product){ 
    echo $product; 
} 

?> 

回答

2

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

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

我建议您重新阅读json_decode的例子来得到关于PHP如何转化JSON到PHP类型更好地理解

+0

呀,这是我第一次尝试,但我得到这个:“注意:试图获取非对象的属性在...“ – elclanrs 2011-03-25 17:43:04

+0

当我做print_r时,我得到了正确的数组strcuture:Array([code] => 333 [type] => Product one)Array([code] => 444 [type] =>第二个产品) – elclanrs 2011-03-25 17:46:27

+0

尝试'$ product [“code”]'和'$ product [“type”]'? – Bleaourgh 2011-03-25 17:49:47

0

你应该能够只是做$product->code$product->type在你的foreach循环。

顺便说一句,如果你想打印一个数组结构来检查格式,你可以使用print_r