在PHP中将数组与int进行比较

时间:2016-01-30 01:33:17

标签: php arrays drupal drupal-7

我正在阅读: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);

谢谢!

2 个答案:

答案 0 :(得分:2)

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

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

编辑:

数组和整数之间没有比较,条件是:
阵列不是空的 AND INT> INT AND INT> INT。

编辑2:

请注意,php type juggling比较中存在一种不协调:

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

但:

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

答案 1 :(得分:1)

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

计算中引导程序的定义:

  

通过少数方法将程序加载到计算机中的技术   初始指令,可以引入其余的   来自输入设备的程序。