后续代码var_dump($_ POST);
array{["textfield"] => array {
[0] => "title one"
[1] => "title two"
[2] => "title three"
[4] => "title four"
}
["textarea"] => array {
[0] => "title text"
[1] => "title summary"
[2] => "title description"
[4] => "title details"
}
["hidden"] => array {
[0] => "1"
[1] => "2"
[2] => "3"
[4] => "1"
}
}
我对数组非常弱.我已经阅读了几篇关于多维数组和排序的文章,但没有运气或看到任何类似于我的例子,让我了解我需要如何调整它.
我想为每个人:
<div class="row<? echo $hidden ?>">
<h2><? echo $textfield ?></h2>
<h3><? echo $textarea ?></h3>
</div>
通过几个数组匹配键0(或相应的键号)和值.相近:
<div class="row<? echo $_POST['hidden'][0] ?>">
<h2><? echo $_POST['textfield'][0] ?></h2>
<h3><? echo $_POST['textarea'][0] ?></h3>
</div>
<div class="row<? echo $_POST['hidden'][1] ?>">
<h2><? echo $_POST['textfield'][1] ?></h2>
<h3><? echo $_POST['textarea'][1] ?></h3>
</div>
<div class="row<? echo $_POST['hidden'][2] ?>">
<h2><? echo $_POST['textfield'][2] ?></h2>
<h3><? echo $_POST['textarea'][2] ?></h3>
</div>
<div class="row<? echo $_POST['hidden'][3] ?>">
<h2><? echo $_POST['textfield'][3] ?></h2>
<h3><? echo $_POST['textarea'][3] ?></h3>
</div>
这个表单可以动态创建数百个深度,我只能打印整个数组或每个$key的所有$值.我没有通过各种数组匹配任何成功.
我希望你跟进.如果您有任何建议,我将非常感激.
解决方法:
在模板中:
<? for ($i = 0; $i < count($_POST['textfield']); $i++): ?>
<div class="row<? echo $_POST['hidden'][$i] ?>">
<h2><? echo $_POST['textfield'][$i] ?></h2>
<h3><? echo $_POST['textarea'][$i] ?></h3>
</div>
<? endfor; ?>
虽然这将工作得很好(假设每个嵌套数组的长度相同),我认为构建数组的更合适的方法是:
array{
[0] => array{
["hidden"] => "1"
["textarea"] => "title text"
["textfield"] => "title one"
}
[1] => array{
["hidden"] => "2"
["textarea"] => "title summary"
["textfield"] => "title two"
}
}
然后你的循环看起来像:
<? foreach ($array as $chapter): ?>
<div class="row<? echo $chapter['hidden'] ?>">
<h2><? echo $chapter['textfield'] ?></h2>
<h3><? echo $chapter['textarea'] ?></h3>
</div>
<? endforeach; ?>