【问题标题】:Checking Combines Arrays检查组合数组
【发布时间】:2013-03-14 18:08:48
【问题描述】:

我的代码中有以下组合数组:

if (($req[$doc_id5] == "Required") && ($signed == "No"))

如果需要数组中的最终文档和$signed = No,则此 IF 语句中的命令非常有用,但是我需要它来检查整个数组中是否有所需的未签名文档。

我尝试了以下方法:

if (in_array("Required",$req[$doc_id5]) && ($signed == "No"))

但这不起作用。

如果需要,很乐意发布我的代码,但它非常混乱。

编辑: 这是检查文档是否已签名的代码:

      $order20 = "SELECT * FROM signatures WHERE doc_id = '$doc_id5' AND action_id = '$action_id' AND member_id = '$member_id'";
      $result20 = mysql_query($order20);

if (mysql_num_rows($result20)>0) {
$signed = "Yes";
} else {
$signed = "No";
}

亲切的问候,

n00bstacker

【问题讨论】:

    标签: php arrays if-statement


    【解决方案1】:

    试试这个:

    if (in_array("Required",$req) && ($signed == "No"))
    

    第二个参数应该是一个数组

    参考:http://php.net/manual/en/function.in-array.php

    【讨论】:

    • Cheers Prasanth - 我认为这部分解决了这个问题 - 但 $signed 数组也只适用于最后一个值。不确定这是因为删除了 [$doc_id5] 还是一直如此。问题是如果有 1 个“否”,则 $signed 数组不能拒绝 - 仅当文档是“必需”和“否”时。仅供参考,文档的其他状态是“可选”或“不需要”。任何想法如何实现这一目标?
    • 啊,$signed 是一个循环而不是一个数组。有没有办法将它捕获到一个数组中 - 然后我可以将它与我相信并做的 $doc_id5 结合起来;如果(($req[$doc_id5] == "Required") && ($signed[$doc_id5] == "No")) 我不能吗?
    • 我认为你的问题真的很乱。我不知道 if 语句应该做什么(你的意图是什么?)。还有任何理由存储是和否而不是布尔值(真/假)?根据您编写的内容,$signed 是一个变量而不是数组。变量是循环?你什么意思?
    • 对不起,我不是最擅长 PHP。让我解释。是/否基本上是因为它被转储到屏幕上。让我给你一个场景。某些领域的工程师需要使用方法声明,但可能有一个用户指南可能对他们有用,但对保险来说不是必需的。工程师需要签署以确认他们对方法声明感到满意,但不需要签署用户指南。基本上,如果 doc_id 具有必需状态并且未签名,他们将无法继续。我实际上在这个 IF 语句中把它带回到 1/0
    • 变量是一个循环,我是一个 n00b - 变量在一个循环中。在这种情况下,有 2 个结果。不,然后是。 No 关联到Required 文档,Yes 关联到 Optional 文档——但是因为它获取 $signed 的最后一个输出并且没有将它与需求进行比较——它允许用户继续
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多