我是否应该在PHP中使用嵌套的if ... else语句进行一系列小于比较

Fre*_*end 2 php

我需要与PHP中的整数进行一系列比较,根据结果返回不同的字符串,我想知道if..else块是否是最优雅的方法.代码如下:

if( $total < 10000 ) {
  return 'string A';
} elseif( $total < 20000 ) {
  return 'string B';
} elseif( $total < 30000 ) {
  return 'string C';
} elseif( $total < 40000 ) {
  return 'string D';
} elseif( $total < 50000 ) {
  return 'string E';
}
Run Code Online (Sandbox Code Playgroud)

哪个有效,我觉得它不是很漂亮.如果我正在进行等式检查,那么我会使用一个开关块.

Gum*_*mbo 7

你可以使用这样的数组(假设$total总是正数):

$results = array('string A', 'string B', 'string C', 'string D', 'string E');
$index = floor($total / 10000);
if ($index < 5) return $results[$index];
Run Code Online (Sandbox Code Playgroud)