在PHP中使用或不使用大括号的重要性或含义是什么?

在PHP中使用或不使用大括号的重要性或含义是什么?,php,curly-braces,control-structure,Php,Curly Braces,Control Structure,我只是想知道,使用大括号或不使用大括号编写PHP代码段是否有原因或优势 我有以下三种方法来获得数字的顺序后缀。在这种情况下,最好的方法是什么 方法1:没有“大括号”的“花括号” 函数序号uffix($n){ //任何数字,如零(0)都应以“th”结尾,而不是1,2,3,它必须是1-2-3nd $appends=数组('th','st','nd','rd','th','th','th','th','th','th','th','th','th'); //使用php模数检查数字是11、12还是13

我只是想知道,使用大括号或不使用大括号编写PHP代码段是否有原因或优势

我有以下三种方法来获得数字的顺序后缀。在这种情况下,最好的方法是什么

方法1:没有“大括号”的“花括号”

函数序号uffix($n){
//任何数字,如零(0)都应以“th”结尾,而不是1,2,3,它必须是1-2-3nd
$appends=数组('th','st','nd','rd','th','th','th','th','th','th','th','th','th');
//使用php模数检查数字是11、12还是13
如果(($n%100)>=11)和($n%100)$studentResult)
//检查奇数和偶数
如果(($key%2)==1)
回显“Student-(“($key+1)。”)结果是:“.ordinalSuffix($studentResult)。”;
其他的
回显“Student-(“($key+1)。”)结果是:“.ordinalSuffix($studentResult)。”;
方法2:没有“大括号”的“花括号”

function ordinalSuffix($n) {
    //any number such as zero(0) should end with 'th' other than 1,2,3 which must be 1st 2nd 3nd
    $appends = array('th','st','nd','rd','th','th','th','th','th','th');
    // using php modulus check if number is 11, 12 or 13 
    if ((($n % 100) >= 11) && (($n % 100) <= 13)):
        return $n. 'th'."<br/>";
    else:
           return $n. $appends[$n % 10]."<br/>";
    endif;
}
//Example Usage
$studentMarks=range(1,26);
foreach($studentMarks as $key => $studentResult):
//check for odd and even
if(($key % 2) == 1):
echo "<div class='dark'>Student - (". ($key + 1) .") Result is :".ordinalSuffix($studentResult)."</div>";
else: 
echo "<div class='ligth'>Student - (". ($key + 1) .") Result is :".ordinalSuffix($studentResult)."</div>";
endif;
endforeach; 
函数序号uffix($n){
//任何数字,如零(0)都应以“th”结尾,而不是1,2,3,它必须是1-2-3nd
$appends=数组('th','st','nd','rd','th','th','th','th','th','th','th','th','th');
//使用php模数检查数字是11、12还是13
如果(($n%100)>=11)和($n%100)$studentResult):
//检查奇数和偶数
如果($key%2)==1):
回显“Student-(“($key+1)。”)结果是:“.ordinalSuffix($studentResult)。”;
其他:
回显“Student-(“($key+1)。”)结果是:“.ordinalSuffix($studentResult)。”;
endif;
endforeach;
方法3:使用“大括号”和“花括号”

function ordinalSuffix($n) {
    //any number such as zero(0) should end with 'th' other than 1,2,3 which must be 1st 2nd 3nd
    $appends = array('th','st','nd','rd','th','th','th','th','th','th');
    // using php modulus check if number is 11, 12 or 13 
    if ((($n % 100) >= 11) && (($n % 100) <= 13)){
        return $n. 'th'."<br/>";
    }
    else{
           return $n. $appends[$n % 10]."<br/>";
    }
}
//Example Usage
$studentMarks=range(1,26);
foreach($studentMarks as $key => $studentResult){
//check for odd and even
if(($key % 2) == 1){
echo "<div class='dark'>Student - (". ($key + 1) .") Result is :".ordinalSuffix($studentResult)."</div>";
}
else{ 
echo "<div class='ligth'>Student - (". ($key + 1) .") Result is :".ordinalSuffix($studentResult)."</div>";
}
}
函数序号uffix($n){
//任何数字,如零(0)都应以“th”结尾,而不是1,2,3,它必须是1-2-3nd
$appends=数组('th','st','nd','rd','th','th','th','th','th','th','th','th','th');
//使用php模数检查数字是11、12还是13
如果(($n%100)>=11)和($n%100)$studentResult){
//检查奇数和偶数
如果(($key%2)==1){
回显“Student-(“($key+1)。”)结果是:“.ordinalSuffix($studentResult)。”;
}
否则{
回显“Student-(“($key+1)。”)结果是:“.ordinalSuffix($studentResult)。”;
}
}

那么你永远不必担心什么代码作为条件语句的一部分被执行。不要让你未来的自己,或是维护这段代码的人,犯一个愚蠢的、可预防的错误。只需在你的IF语句中添加一行不带大括号的额外代码,就会出现意想不到的、难以捕捉的错误。这样做也更容易避免错误ead.可维护性始终很重要,不应忽略。

块语句的冒号形式通常保留给模板,其中显式的
endif
比右括号更容易识别。不要将其用于控制器/类代码-一些标准化很好。@meagar您能帮我按照您所说的重新编写吗暂缓或建议最好的解决方法。@ShapCyber所有的答案都是自以为是的,因为这个问题与代码气味有关,这对每个开发人员来说都是独一无二的。对于
冒号
语法的使用,
不支持在同一个控制块中混合语法。
因此,最好在上使用标准化e样式以防止冲突的语法问题。对于
大括号的排除
,这是一个可读性问题,可能会导致以后需要在程序要求更改时添加大括号。最终,实现编码标准通常是最佳做法,例如从Yup开始的地方。应该从PHP、IMO中删除无大括号选项。
function ordinalSuffix($n) {
    //any number such as zero(0) should end with 'th' other than 1,2,3 which must be 1st 2nd 3nd
    $appends = array('th','st','nd','rd','th','th','th','th','th','th');
    // using php modulus check if number is 11, 12 or 13 
    if ((($n % 100) >= 11) && (($n % 100) <= 13)){
        return $n. 'th'."<br/>";
    }
    else{
           return $n. $appends[$n % 10]."<br/>";
    }
}
//Example Usage
$studentMarks=range(1,26);
foreach($studentMarks as $key => $studentResult){
//check for odd and even
if(($key % 2) == 1){
echo "<div class='dark'>Student - (". ($key + 1) .") Result is :".ordinalSuffix($studentResult)."</div>";
}
else{ 
echo "<div class='ligth'>Student - (". ($key + 1) .") Result is :".ordinalSuffix($studentResult)."</div>";
}
}