2016-07-08 13 views
2
$_SESSION['items_' . $restaurant_id]["menu_0"] = array(
    order_id" => $order_id, 
    'user_order_id' => $last_order["user_order_id"], 
    "menu_id" => $menu_id, 
    "qty" => $qty, 
); 

そのコードは私のセッションであり、これになるリターンされます。私の `$ menu_idが配列でPHPセッション多次元配列は

["items_250"]=> 
array(2) { 
["menu_0"]=> 
array(3) { 
    ["user_order_id"]=> 
    string(2) "85" 
    ["menu_id"]=> 
    array(3) { 
    [0]=> 
    string(2) "236" 
    [1]=> 
    string(2) "357" 
    [2]=> 
    string(2) "232" 
    } 
    ["qty"]=> 
    array(3) { 
    [0]=> 
    string(1) "1" 
    [1]=> 
    string(1) "1" 
    [2]=> 
    string(1) "1" 
    } 
} 

array(3) { 
    [0]=> 
    string(1) "1" 
    [1]=> 
    string(1) "1" 
    [2]=> 
    string(1) "1" 
} 

私のセッションは次のように返されます:

["items_250"]=> 
array(3) { 
["menu_0"]=> 
array(3) { 
    ["user_order_id"]=> 
    string(2) "85" 
    ["menu_id"]=> 
    string(3) "236" 
    ["qty"]=> 
    int(1) 
} 
["menu_1"]=> 
array(3) { 
    ["user_order_id"]=> 
    string(2) "85" 
    ["menu_id"]=> 
    string(3) "357" 
    ["qty"]=> 
    int(1) 
} 
["menu_2"]=> 
array(3) { 
    ["user_order_id"]=> 
    string(2) "85" 
    ["menu_id"]=> 
    string(3) "232" 
    ["qty"]=> 
    int(1) 
} 

皆さんは私のセッションをそのようにする方法を教えていただけますか?

は(ありがとう:

+1

を – Ghost

+0

あなたはそれを作る方法を私に見せてもらえますか?@Ghost – Kelvin

答えて

2

ただ、古き良きforループを使用して最初にcountを取得し、その後、必要に応じて行を作成します。ただ、それはその行の別の次元を作成する内側ループのために別のものを追加し

$count = count($menu_id); // get count 
for($i = 0; $i < $count; $i++) { 
    $_SESSION['items_' . $restaurant_id]['menu_' . $i] = array(
     'user_order_id' => $last_order['user_order_id'], 
     'menu_id'  => $menu_id[$i], 
     'qty'   => $qty[$i], 
    ); 
} 
+0

ありがとう – Kelvin