0

非常に少数の製品を含む小さなオンライン購入ページを実装しています。

<?php  
$item_name = "lamp";
$item_price = 29.99;
$item_category = "furniture";
$item_Dollar = 29;
$item_Cents = 99;
?>

どうすればいいですか?たった2種類の商品で、基本的に価格のみが異なるので、データベースは必要ありません。私は、すべての価格を含む .php ファイルを含め、switch($id)それらの間で値を再割り当てする関数をそこに含めることを考えていました。

<?php
    function selectProduct($id) {

     switch($id) {
          case 1:
              $item_name = "lamp";
              $item_price = 19.99;
              $item_category = "furniture";
              $item_Dollar = 19;
              $item_Cents = 99;
              break;

          case 2:
              // and so on...

          default: break;
     }
    }
?>

ロジックはそれぞれのケースに入りますが、インスタンス変数を再割り当てしません。require_once(pricings.php);何らかの理由で、空になった後に別のページでアクセスしようとすると。私は PHP にあまり詳しくありませんが、それはおそらくコードから明らかになりました。私は何を間違っていますか?

4

5 に答える 5

1

各要素がキーと値のペアであるアイテムの配列を作成します。キーはアイテム ID で、値はアイテムの属性のキーと値のペアの別の配列です。

$items = array(
    1 => array(
        'name' => 'lamp',
        'price' => '19.99',
        'category' => 'furniture',
    ),
    2 => array(
        'name' => 'chair',
        'price' => '29.99',
        'category' => 'furniture',
    ),
);

次に、製品 ID をインデックスとして使用して、配列を簡単に参照できます。

$id = 1;
echo "Name is: " . $items[$id]['name'];
echo "Price is: " . $items[$id]['price'];
于 2013-10-29T18:35:37.837 に答える
0

個人的には、データを関数化することを忘れて、配列を使用するだけです。それが目的です。また、これにより、将来、データをデータベースに移植することがはるかに簡単になります。

<?php 
$products = array(
    array('item_name'=>'lamp', 'item_price'=>19.99, 'item_category'=>'furniture', 'item_dollar'=>19, 'item_cents'=>99),
    array('item_name'=>'chair', 'item_price'=>19.99, 'item_category'=>'furniture', 'item_dollar'=>19, 'item_cents'=>99),
);
//
echo $products[0]['item_name'];
?>
于 2013-10-29T18:36:01.463 に答える