例如......
public function processRowSet($rowSet, $singleRow = false){
$resultArray = array();
while($row = mysql_fetch_assoc($rowSet)){
array_push($resultArray, $row);
};
if ($singleRow === true){
return $resultArray[0];
};
return $resultArray;
}
...and then the next line continues without an issue
当我第一次使用OOP PHP时,我在最后添加分号时出错了,我花了大约一个小时来弄清楚出了什么问题。
答案 0 :(得分:5)
为什么?
因为PHP编程语言的作者设计了这样的语言。
当你在php中创建一些代码时,会发生以下过程:
编程语言的作者使得解析器允许在冒号后使用分号,这就是为什么允许这样做。 (他们使用括号代替)。
某些编程语言要求您使用分号,因为解析过程很难实现。
答案 1 :(得分:2)
区别在于语句和表达式:
$foo = bar()
)。独立表达式需要分号,可能因为它们没有大括号来表示表达式结束。PHP借用了C语言中的这种语法。
答案 2 :(得分:1)
总而言之,在闭块大括号之后你永远不需要分号。您的代码应如下所示:
public function processRowSet($rowSet, $singleRow = false){
$resultArray = array();
while($row = mysql_fetch_assoc($rowSet)){
array_push($resultArray, $row);
}
if ($singleRow === true){
return $resultArray[0];
}
return $resultArray;
}
分号本身被视为空语句(什么都不做)。这就是为什么常见的错误就是编写一个循环:
for ($a=0; $a=10; $a++);
print $a;
循环后的分号是无执行命令,它将执行10次,然后打印出“11”。这相当于写作:
for ($a=0; $a=10; $a++) {
; // do nothing
}
print $a;
答案 3 :(得分:0)
许多编程语言不需要结束语句即。 ';'在函数块之后,或任何其他类型的块语句,如if,for,while。我们没有用终结符定义块的结尾,因为块已经被限制在{}中。它取决于语言解析器/编译器如何执行代码。