在php中比较值是否有效

时间:2016-06-06 10:54:29

标签: php

$newOrders是一个数组并包含订单对象...
order_id是一个对象变量。我想将order_id值与variable($orderId)循环中的另一个If进行比较... 但它失败了

这是我的代码:

if($newOrders[$i]->order_id == $orderId){   
    echo "voila, found it:".$newOrders[$i]."<br>";
    return $newOrders[$i];
}

2 个答案:

答案 0 :(得分:1)

每当我遇到一段不起作用的代码时 - 特别是比较 - 我打印出变量的两面(并且经常分解更复杂的变量,比如你的数组)并实际查看信息,而不是假设我从查看代码就知道了。

当数据被丢弃或以其他方式手动检查时,不可避免地存在一个明显的问题。 Symfony VarDumperprint_r等工具,或者带断点和变量检查的IDE都适合查看正在发生的事情。

答案 1 :(得分:0)

  1. 您确定此数组包含对象吗,您检查过吗?如果是,那怎么样?
  2. 那里的变量$i是什么,请您填写完整的代码(我相信代码段应该在某个循环中forforeach
  3. 您始终可以通过

    检查班级的有效对象
    if ($newOrders[$i] instanceof Order) {  //Presuming Order is your class name
    
    //do your stuff
    
    }
    
  4. 您还可以使用var_dump()函数检查对象内的变量。

  5. 我希望它会有所帮助。