0

私はhtmlにコードを持っています:

<input type="text" name="product[0][name]" value="name of product 1"/>
<input type="text" name="product[1][name]" value="name of product 2"/>
<input type="text" name="product[2][name]" value="name of product 3"/>
<input type="text" name="product[3][name]" value="name of product 4"/>

これを $_POST 経由で送信しようとしています。使用しているとき

print_r($_POST['product']);

例の製品のリストを取得しました:

Array
(
    [product] => Array
        (
            ['201'] => Array
                (
                    ['name'] => J5313 BEŻOWE
                    ['price'] => 14.99
                    ['quantity'] => 1
                    ['size'] => 36
                    ['product_subtotal'] => 14.99
                )

            ['200'] => Array
                (
                    ['name'] => J5313 SZARE
                    ['price'] => 14.99
                    ['quantity'] => 1
                    ['size'] => 37
                    ['product_subtotal'] => 14.99
                )

        )

)

すべて問題ありませんが、配列変数をエコーし​​たい場合、空の変数があります! その私のコード:

foreach($_POST['product'] as $key => $value){
        echo "product key: $key, product name: ".$value['name']."";
}

ドキュメントにどのようなphpを書くか:

product key: 0, product name:
product key: 1, product name:
product key: 2, product name:
product key: 3, product name:

$key 変数は空ではありませんが、$value は空です! $value var の名前を変更しようとしましたが、問題は解決しません。誰も私がしなければならないことを知っていますか?

4

3 に答える 3

1

コードに基づいて、この問題が発生している理由が不明であるため、いくつかのデバッグ手順を実行できます。

すべての警告を表示

error_reporting(-1);
ini_set('display_errors', 'On');

この 2 行をスクリプトに追加して実行します。インデックスがないなどの明らかな問題がある場合は、ページに警告が表示されます。

さらにデバッグを追加

ループはキーを見つけることができるので、ループvar_dump($value);内で入力ミスをしたかどうかを確認する必要があります (ただし、すべての警告を表示することでタイプミスが表示されます)。

于 2012-06-09T12:57:00.507 に答える
0
foreach($_POST['products'] as $value)
        foreach($value as $k => $v)
                echo $k." -> ".$v['name'];
于 2012-06-09T13:11:06.330 に答える
-1

これを試して:

 foreach($_POST['product'] as $key => $value){
     echo "product key: $key, product name: " . $_POST['product'][$key]['name'];
 }
于 2012-06-09T12:48:02.150 に答える