【问题标题】:comparing array with int in PHP在 PHP 中将数组与 int 进行比较
【发布时间】:2016-01-30 01:33:17
【问题描述】:

我正在阅读位于https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/drupal_bootstrap/7 的 drupal_bootstrap 代码,以尝试了解如何引导 drupal 代码。我有其他语言的经验,但没有 php。下面这行代码让我很困惑,因为 $phases 是一个数组,而其他的都是 int。数组和int比较是什么意思?

while ($phases && $phase > $stored_phase && $final_phase > $stored_phase) {
      $current_phase = array_shift($phases);

谢谢!

【问题讨论】:

  • 另外,我有一个非常基本的问题..引导drupal代码是什么意思?
  • 欢迎来到 Stack Overflow!如果您还有其他问题,请打开另一个问题。

标签: php arrays drupal drupal-7


【解决方案1】:

在 php 基本比较中,元素数组==True 和空数组==False。
array_shift() 减小数组的大小。

因此,在您的示例中,循环会减小 $phases 的大小,直到 $phases 为空。
(更好:直到$phases 为空或其他条件之一为False)

编辑:

数组和整数没有比较,条件是:
数组不为空 AND INT > INT AND INT > INT。

编辑 2:

请注意phptype juggling比较有一种不协调:

array() == False
''      == False
0       == False

但是:

''      == 0
array() != ''   <------ !!!!
array() != 0    <------ !!!!

【讨论】:

  • 谢谢!这真的很有帮助!
【解决方案2】:

它不会将数组与 int 进行比较。
它使用$phases 的条件的第一部分只是检查它是否具有值。

计算中bootstrap的定义:

一种将程序加载到计算机中的技术 能够引入其余部分的初始说明 来自输入设备的程序。

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    相关资源
    最近更新 更多