-1

这是我的代码:

$orders = Array();

foreach ($unassigned as $uorder) {
    $array = Array(
        "ordid"   => $uorder->idord,
        "fecha"   => $uorder->datorod,
        "cliente" => $uorder->idcli
    );

    array_push($orders[$uorder->user_id], $array);
}

print_r($orders);

结果:

Array (
    [vendor1] => 
    [vendor2] => 
)

我想做某种

所以我可以用它$orders[vendor1][0][ordid]来找到供应商下的第一个订单。

4

2 回答 2

1

您必须先分配$orders[$uorder->user_id]为数组,否则将项目推送到它上面是没有意义的。此外,您可以使用速记附加符号:

if(!isset($orders[$uorder->user_id]))
    $orders[$uorder->user_id] = array();
$orders[$uorder->user_id][] = $array;
于 2012-12-29T17:08:35.760 回答
0

在你的foreach循环中检查是否$orders[$uorder->user_id]是一个数组,如果不是创建一个。

foreach($unassigned as $uorder):

    if(! is_array($orders[$uorder->user_id]))
        $orders[$uorder->user_id] = array();

    array_push($orders[$uorder->user_id],Array("ordid" => $uorder->idord, "fecha" =>  $uorder->datorod, "cliente" => $uorder->idcli));
endforeach;
于 2012-12-29T17:07:41.930 回答