-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 に答える