我正在阅读: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);
谢谢!
答案 0 :(得分:2)
在php基本比较中,包含元素== True
和空数组== False
的数组。
array_shift()
减少了数组的大小。
因此,在您的示例中,循环会减小$phases
的大小,直到$phases
为空。
(更好:直到$phases
为空或其他条件之一为False
)
数组和整数之间没有比较,条件是:
阵列不是空的 AND INT> INT AND INT> INT。
请注意,php type juggling比较中存在一种不协调:
array() == False
'' == False
0 == False
但:
'' == 0
array() != '' <------ !!!!
array() != 0 <------ !!!!
答案 1 :(得分:1)
它不会将数组与int进行比较
使用$phases
的条件的第一部分只是检查它是否有值。
计算中引导程序的定义:
通过少数方法将程序加载到计算机中的技术 初始指令,可以引入其余的 来自输入设备的程序。