【问题标题】:NOT IN operator of SQL equivalent in phpphp中SQL等效的NOT IN运算符
【发布时间】:2019-07-17 18:34:56
【问题描述】:

PHP 中的 SQL 是否有相当于 NOT IN 的运算符?

if(count($result1) > 0) {
    $query_transline_conflict = "SELECT * FROM transaction_line as tl LEFT JOIN transaction as t ON tl.transaction_id = t.transaction_id LEFT JOIN resources as r ON tl.resource_id = r.resource_id WHERE t.equipment_class_id = '$equipment_class_id' AND tl.returned = '0'";
    $result_transline_conflict = mysqli_query($conn, $query_transline_conflict);
    $result2 = mysqli_fetch_all($result_transline_conflict,MYSQLI_ASSOC); 
    $x = 0;
       foreach($result2 as $row){
         $already_booked_range = getDatesFromRange($row['start_date'],$row['end_date']);
         $new_array_already_booked[$x] = $already_booked_range;
         $x++;
  }

我有一个正在输入的 start_date 和 end_date。现在$new_array_already_booked 存储将要比较的日期范围。所以我想使用 NOT IN 运算符进行 php 比较。我希望我说得通。仍然是初学者,正在努力学习。

Array
(
[0] => Array
    (
        [0] => 2019-07-25
        [1] => 2019-07-26
        [2] => 2019-07-27
    )

[1] => Array
    (
        [0] => 2019-07-30
        [1] => 2019-07-31
        [2] => 2019-08-01
    )

)

【问题讨论】:

  • 显示一些你正在尝试的代码。
  • Not IN .. .. where .. 在 PHP 数组中??
  • @scaisEdge 是在 php 数组中。
  • @aynber 我稍后会发布代码

标签: php sql operators


【解决方案1】:

为了检查一个元素是否在一个数组中,你可以使用in_array()

$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
if (in_array("mac", $os)) {
    echo "Got mac";
}

对于 NOT IN,您可以使用 !in_array()

$os = array("Mac", "NT", "Irix", "Linux");
if (!in_array("MyValue", $os)) {
    echo "MyValue not in array";
}

https://www.php.net/manual/en/function.in-array.php

【讨论】:

    【解决方案2】:

    如果要检查一个数组的任何元素是否在另一个数组中,可以使用array_intersect

    $a = Array('bird', 'butterfly', 'bat');
    $b = Array('ball', 'helmet', 'bat');
    
    if (!array_intersect($a, $b)) echo 'not in';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多