如何在json中传递varibles的值

时间:2015-07-08 10:43:58

标签: php arrays json

foreach ($ordersList as $object) {

    $entityid = $object->entity_id; //how to give this $entityid with in json

    $json='{
    "orderNo":$entityid,          //here i want to assign the value of $entityid
    "customerCode": $customerid,
    "dateOrdered": "08-07-2015",
    "warehouseId" : ,
    "orderLineList":
    [

    "productId": 1000002,
    "qty": 6,
    "price": 10
    ]
    }';
}

$data = json_decode($json);
$data_string=  json_encode($data);

2 个答案:

答案 0 :(得分:1)

不要手动编写JSON字符串。

$data = [
    "orderNo" => $entityid, //here i want to assign the value of $entityid
    "customerCode" =>  $customerid,
    "dateOrdered" => "08-07-2015",
    "warehouseId" => null ,
    "orderLineList" => [
        "productId": 1000002,
        "qty": 6,
        "price": 10,
    ],
];

$json = json_encode($data);

json_decode()会给出错误:

{"orderLineList": [ "productId": 1000002 ]}

答案 1 :(得分:0)

试试这段代码:

foreach ($ordersList as $object) {
    //Start with a PHP array

    //Don't mess with concatenation, you will get tangled with opening & closing quotes.

    //If your information comes in a json format. Use json_decode() to convert it into a PHP array.

    //$dateOrder,$warehouseId,$object->customer_id are fictious variables. Replace them with real values.

    $orderArray[] = [
        'orderNo' => $object->entity_id,
        'customerCode' => $object->customer_id,
        'dateOrdered' => $dateOrdered,
        'warehouseId' => $warehouseId,
        'orderLineList' => [
            'productId': 1000002,
            'qty': 6,
            'price': 10
        ]           
    ];
}

$data_string = json_encode($orderArray);