Мне просто интересно, есть ли причины или преимущества написания фрагмента PHP с использованием или без использования фигурных скобок.
У меня есть три подхода к получению порядкового суффикса чисел. Какой должен быть лучший подход в этом случае
Подход 1: без «фигурных скобок» «фигурные скобки»
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>";
Подход 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;
Подход 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>";
}
}
Затем вы никогда надо беспокоиться о том, какой код выполняется как часть вашего условия. Не позволяйте своему будущему себе или тому, кто поддерживает этот код, делать глупые, предотвратимые ошибки. Все, что вам нужно, это добавить одну дополнительную строку в ваш оператор IF без скобок и неожиданных, трудно поддающихся обнаружению ошибок. Это также легче читать. Ремонтопригодность всегда важна и не должна игнорироваться.
Других решений пока нет …