我有一个简单的表单,使用foreach将数据插入数据库($ _ POST作为$ key => $ value)我在表单上有一个隐藏字段
<input name="isset" type="hidden" value="true" />
我使用if(isset($ _ POST ['isset'])){
我正试图找出如何从循环中排除隐藏字段......?
我看过这篇文章,但不明白我会在哪里使用if(strpos($ key,'hdn_')== false)//继续
How to exclude <input type="hidden"> from a for each loop in PHP
任何指导将不胜感激....
2 回答
如果您知道要排除的键的确切名称,array_diff_key是一个方便的选项:
但是,由于
$values
旨在进入数据库,因此您应该使用允许密钥的白名单而不是黑名单 . 您可以使用array_intersect_key执行此操作:在foreach内:
(我从你的问题得到的)
或者从您的数组中,您可以
unset()
具有'isset'数组键的元素 .