2016-08-24 16 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人あたりの注文数はいくつですか? '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 
関連する問題