1

こんにちは、多次元配列のフォーム値から渡します。私が渡している値は次のようになります。3 番目の値は、html フォームから渡されます。

<input type=\"text\" name=\"input[".$row[Id]."][".$record[Name]."][]\" size=\"2\" />

input[1][1][]
input[1][2][]
input[1][3][]
input[2][1][]
input[2][2][]
input[2][3][]

それから私はそれらをforeachしようとしますが、私は立ち往生しています。

foreach($_POST[input] as $name => $value){
    foreach($value as $inner_value =>$value){
        foreach($value as $inner_inner_value => $value){
            echo "Menu: {$name} submenu: {$inner_value} subsubmenu :{$inner_inner_value}\n<br><br>";
        }
    }
}

それはこれをエコーし​​ ています:

Menu:1 submenu: 1 subsubmenu: 0
Menu:1 submenu: 2 subsubmenu: 0
Menu:1 submenu: 3 subsubmenu: 0
Menu:2 submenu: 1 subsubmenu: 0
Menu:2 submenu: 2 subsubmenu: 0
Menu:2 submenu: 3 subsubmenu: 0

しかし、私はこれを達成する必要があります

Menu:1 submenu: 1 subsubmenu: value entered into form field.
Menu:1 submenu: 2 subsubmenu: value entered into form field.
Menu:1 submenu: 3 subsubmenu: value entered into form field.
Menu:2 submenu: 1 subsubmenu: value entered into form field.
Menu:2 submenu: 2 subsubmenu: value entered into form field.
Menu:2 submenu: 3 subsubmenu: value entered into form field.

3 番目の値は HTML から投稿されます。基本的に、フォームを使用して 3 番目の値を配列に渡す方法がわかりません。

<input type="text" name="input[THIS IS OK][THIS IS OK][value ENTERED in FORM FIELD???]" size="2" />
4

2 に答える 2

0

私はあなたの問題が何であるかを理解するかどうかはわかりませんが、それが私が考えるものであれば、これでうまくいくと思います... 入力[THIS IS OK] [THIS IS OK]を投稿し、3番目の次元がこの入力の値です投稿を入力してから、入力要素の名前/IDを同じように変更する必要があります

input[THIS IS OK][THIS IS OK] 投稿すると、値 $val= $_POST[input[".$i."][".$j."]"]; とこの $val を取得できます投稿または必要な 3 番目の次元からの値を保持します ....そして、$i-最初の次元 $j-2 番目の次元と $val-3 番目の次元があります ??

それはあなたが探していたものでしたか???

于 2013-02-06T10:49:13.007 に答える
0

それを試してみてください:

protected $printString = '';
function magicRecursiveArrayRunner($someArray){
    if(is_array($someArray)){
        foreach($someArray as $key=>$value){
            if(is_array($value)){
                $this->printString .= "Menu ".$key;
                self::magicRecusiveArrayRunner($value);
            }else{
                $this->printString .= " submenu ".$key;
            }
        }
    }else{
         $this->printString .= " subsubmenu ".$key . '\br';
    }
}
于 2013-02-06T10:54:27.790 に答える