Php 检查多个$\u会话变量是否为空

Php 检查多个$\u会话变量是否为空,php,session,Php,Session,基本上,人们可以选择他们想做什么样的活动。这是通过复选框完成的。我的旧代码对我来说有点垃圾,我决定把它清理一下。因此,选中的POST变量被放入这样的会话中 if ($_SERVER['REQUEST_METHOD'] == 'POST') { for($x = 0; $x < $keuzelength; $x++) { $_SESSION[$keuze[$x]] = $_POST[$keuze[$x]]; } } 这基本上检查上面的任何内容是否为空,脚本停

基本上,人们可以选择他们想做什么样的活动。这是通过复选框完成的。我的旧代码对我来说有点垃圾,我决定把它清理一下。因此,选中的POST变量被放入这样的会话中

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    for($x = 0; $x < $keuzelength; $x++) {
    $_SESSION[$keuze[$x]] = $_POST[$keuze[$x]];
    }
    }
这基本上检查上面的任何内容是否为空,脚本停止并发送错误。工作起来很有魅力。但是,一旦我向用于复选框的数组中添加了一个新选项,我就需要在其中添加另一个空行

是否有方法检查所有$\u会话[$keuze[]]变量

提前谢谢

不起作用,因为我还将其他内容存储在会话变量中

按照@ImClarky的建议,创建另一个数组来存储所有要检查的值,即:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    for($x = 0; $x < $keuzelength; $x++) {
    $_SESSION['custom_sessions'][$keuze[$x]] = $_POST[$keuze[$x]];
    }
 }

只需在用于将POST值分配给会话的循环中执行此操作。。。在循环之前初始化一个标志
$has_errors=false
,并在内部检查当前项是否为空-如果是,则将标志设置为true。然后在循环结束后,根据标志是真是假采取相应的行动。@C0dekid:不过,他必须在添加选项时添加一行:/将会话密钥放入一个单独的数组
$\u session['test']['Dierentuin']
中,并在该数组上使用
数组过滤器($\u session['test'])
,因为我还在会话变量中存储其他东西。@MilkTea-也许如果你的循环中有类似于
$\u session['keuze'][$keuze[$x]]
的东西,你就可以
数组过滤器($\u session['keuze'])
很好的建议@ImClarky,我已经更新了我的答案,tks!工作起来很有魅力!非常感谢@PedroLobito我还有一个问题,你可能知道,我在后面使用了一个select语句,它应该在那里得到所有插入的复选框。
$\u会话['custom\u sessions']
中的那些,但不知怎么的,我无法让它工作。我已经在(“.intlode(“,”,array_map('intval',$array))”)中找到了这个
$sql='SELECT*FROM'table',其中的'id'但这只会让我的页面变空。当我将$array更改为$\u会话时
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    for($x = 0; $x < $keuzelength; $x++) {
    $_SESSION['custom_sessions'][$keuze[$x]] = $_POST[$keuze[$x]];
    }
 }
if (!array_filter($_SESSION['custom_sessions']))
{
    print('error text'); # empty array
}