我认为这是一个有趣的问题,我正在寻找比我能想到的更好的解决方案。
我在我的php代码中返回一个POST数组,其中包含一个动态生成的元素数组,其长度因用户而异。
实施例
Array = (
[element-1] = a,
[element-2] = b,
[element-3] = c,
[non-element] = something,
[another-non-element] = something
)
现在,在我的PHP代码中,我需要为每个元素调用一个函数(不是非元素)
实施例
$element= $_POST['element-1'];
saveElements(element);
因此,我试图想出一个通过整个阵列并挑选元素的好方法。没有做类似的事情:
$i = 1;
foreach($_POST as obj){
if(obj == 'element-' + $i)
$element= $_POST['element-' + $i];
saveElements(element);
}
我很担心,因为这假设订单是正确的。
有更好的建议吗?
谢谢!
答案 0 :(得分:1)
让$_POST
看起来如下
Array = (
[elements] = [a, b, c],
[non-element] = something,
[another-non-element] = something
)
这样您就可以迭代$_POST['elements']
foreach($_POST['elements'] as $element) {
saveElements($element);
}
答案 1 :(得分:1)
如果是表格,您可以为“element []”生成输入并为其中每一个设置名称属性。然后$ _POST [element]是你生成的元素数组。
foreach($_POST['element'] as $index => $value){
saveElement($value);
}
考虑到下面的评论,这会更好:
foreach($_POST as $key => $val){
preg_match('#element-\d#i', $key, $found);
if(isset($found[0]))
saveElement($val);
}