2016-08-24 140 views
1

我需要將用戶輸入放入關聯數組中。該程序詢問用戶有多少人在他們的小組中。然後它會詢問每個人的姓名以及他們的訂單。然後繼續打印組員的姓名以及他們的訂單。我的想法是使用for循環將每個數據集添加到數組中。除了如何將數據放入數組,我想我已經想通了。這是我到目前爲止的代碼:將用戶輸入並將其插入到使用PHP的關聯數組中

<?php 
    $people=readline("How many orders?"); 
    $orders=[]; 
    for($i=0; $i<$people; $i++) 
    { 
    print("Order "); 
    print($i); 
    print(" name: "); 
    $name=readline(); 
    print("Order "); 
    print($i); 
    print(" order: "); 
    $food=readline(); 
    } 
    print("Total order:\n"); 
    foreach($orders as $names=>$orders) 
    { 
    print($names); 
    print(": "); 
    print($orders); 
    print("\n"); 
    } 
?> 
+0

'$ order'的大小將始終等於'$ people'的值。我對麼? –

+0

每個人有多少訂單? '1'? –

+0

我認爲你應該創建一個Web表單,用戶輸入的人數然後提交給另一個PHP頁面,該頁面顯示另一個Web表單,他在其中輸入訂單。你的方式更像是一個交互式C風格的程序,但這不是網頁的工作方式 –

回答

0

PHP有一定的任何編程語言的最好的記錄,所以我會建議taking a peak at the array intro,它會告訴你正是你需要知道的。

作爲一個提示,因爲您要跟蹤每個訂單(名稱,食物)的多個數據,並且您希望能夠在稍後將這些數據相互關聯,您將向您的數組添加數組$orders數組。例如:

$orders[$i] = [$name, $food]; 

這可以訪問後使用數字索引:

$orders[$i][0] // value of $name for order $i 
$orders[$i][1] // value of $food for order $i 

但是,在這種情況下,我真的勸採取下一個步驟,使用關聯數組來代替:

$orders[$i] = ['name' => $name, 'food' => $food] 

這使訪問更容易記住和閱讀:

$orders[$i]['name'] // value of $name for order $i 
$orders[$i]['food'] // value of $food for order $i 
相關問題