区间搜索最小值和最大值如何输出

{php $cwsl=array('0,50'=>'50以内','50,100'=>'50到100','100,300'=>'100到300','300,1000'=>'300到1000','1000,0'=>'1000以上');}

{loop $cwsl $i $t}

  • {$t}
  • {/loop}

    {$t.cwsl[0]}不行
    {$t.cwsl[1]}不行
    这个最大值和最小值怎么取到?

img

根据你提供的 PHP 代码,$cwsl 是一个关联数组,键名是字符串表示的数字区间,键值是对应的区间名称。你可以使用 foreach 循环来遍历这个数组,同时对每个区间字符串进行解析,获取区间的最小值和最大值,然后在循环体内进行操作。

以下是一个示例代码


<?php
$cwsl = array('0,50' => '50以内', '50,100' => '50到100', '100,300' => '100到300', '300,1000' => '300到1000', '1000,0' => '1000以上');

foreach ($cwsl as $range => $name) {
    list($min, $max) = explode(',', $range);
    echo $name . ': ' . $min . ' - ' . ($max == 0 ? '以上' : $max) . '<br>';
}
?>

在循环体内,首先使用 explode 函数将区间字符串分割为最小值和最大值两个字符串。然后根据 $max 的值来判断最大值的字符串表示,如果是 0,则表示最大值为无穷大,需要用文字 “以上” 来表示。否则,直接输出最大值即可。

答案来自 我点评开发社区 https://www.wodianping.com/