当前位置: 首页 > 知识库问答 >
问题:

如何从PHP foreach循环中排除隐藏字段

冯淳
2023-03-14

我有一个简单的表单,它使用foreach($\u POST as$key)将数据插入数据库=

<input name="isset" type="hidden" value="true" />

我使用if(isset($\u POST['isset'])){

我正在尝试解决如何从循环中排除隐藏字段。。。?

我看了这篇文章,但不明白我会在哪里使用(strpos($key,'hdn_') == false)//继续

如何排除

任何指导将不胜感激......

共有2个答案

公良运锋
2023-03-14

Foreach内部:

foreach ($_POST as $key => $value) {
    if ($key != 'isset') {
        //code here
    }
}

(对于我从你的问题中得到的)

或者从数组中,可以使用isset数组键unset()元素。

戚修雅
2023-03-14

如果您知道要排除的键的确切名称,array\u diff\u key是一个方便的选项:

$keysToRemove = array('isset'); // you can add as many as you want
$values = array_diff_key($_POST, array_flip($keysToRemove));

foreach ($values as $k => $v) { ... }

但是,由于$values旨在进入数据库,因此您应该使用允许密钥的白名单,而不是黑名单。您可以使用数组\u intersect\u键执行此操作:

$keysToKeep = array('field1', 'field2', 'field3'); // as many as you want
$values = array_intersect_key($_POST, array_flip($keysToKeep));

foreach ($values as $k => $v) { ... }

 类似资料:
  • 我有这个代码,可以获取股票价格。所有股票符号都在一个表列表中,现在如果该符号不在观察列表中,其行将被隐藏。我现在面临的挑战或我想要实现的是忽略这些隐藏的行来获取其股价。我只是想让代码忽略它。提前谢谢你的帮助。 当前结果是这样的(那些在观察列表中为“否”的是隐藏行,但代码仍然返回其价格): 行符号价格观察列表(过滤器) 1 ABS 17是的 2 BDO 19号 3 NIKL 4是的 4技术5号 5

  • 问题内容: 我有一些服务器端HTML输出,我无法使用纯CSS来处理,本质上DIV有时适用: 要么 要么 要么 当DIV == 我要删除它。 有任何想法吗? 问题答案: 甚至更好(假设使用jQuery): 编辑:其他答案是好的,但OP想要删除空项目,而不是将其隐藏。

  • 所以我正在尝试创建这个循环,它可以从ArrayList中移除给定字符串中的特定字符。问题是,当一行中有两个相同的字符时,它会遗漏第二个字符,因为当第一个字符被移除时,第二个字符会在数组列表中向下推一个位置。这是我目前所掌握的。有人知道怎么解决这个吗?我仍然是java的初学者,所以任何帮助都将非常感谢。 从本例中打印出来的内容在:[u,B,u,o,p]之后,而我希望它在:[u,u,o,p]之后

  • 我在以递归方式从循环单链表中删除单个节点/值时遇到了一些问题(当然,如果可能的话)。我的代码只从中间删除,而不是从第一个或最后一个地方删除。 在以递归方式删除其中一个连接后,我不知道如何建立连接。我的意思是,如果我要删除第一个元素,那么我需要将最后一个节点连接到下一个节点。 这是我的代码: 参数和返回: 查找尾部功能:

  • 我需要隐藏或删除后退按钮或后退图标从AppBar是可能的吗? 如果可能,那么如何? 我设置了,但它仍然存在,没有任何变化

  • 我可以在java代码中使用或。我想禁用字段访问,只通过getter和setter访问。 如何实现这一点并保持lateinit修饰符?