Php 如何循环查看价格表的最小值和最大值
我有一个“属性”表,正在检索最小和最大价格。 有了这两个值,我想要一个从最小价格到最大价格的数字列表。 我就是这样尝试的:Php 如何循环查看价格表的最小值和最大值,php,laravel,Php,Laravel,我有一个“属性”表,正在检索最小和最大价格。 有了这两个值,我想要一个从最小价格到最大价格的数字列表。 我就是这样尝试的: Route::get('min', function(){ $minprice = Property::min('price'); $maxprice = Property::max('price'); $min = (float)$minprice; $max = (float)$maxprice; for($i = $min; $
Route::get('min', function(){
$minprice = Property::min('price');
$maxprice = Property::max('price');
$min = (float)$minprice;
$max = (float)$maxprice;
for($i = $min; $i <= $max; $i++){
echo $i;
}
})->name('min');
路由::获取('min',函数(){
$minprice=Property::min('price');
$maxprice=Property::max('price');
$min=(浮动)$min价格;
$max=(浮动)$maxprice;
对于($i=$min;$i名称($min));
我使用float是因为数据库中的价格存储为字符串
如果我回显$min或$max,我可以很好地看到它。
当我发出get请求时,我什么也看不到。
我的for循环中有什么问题吗?您可以尝试php函数
范围
Route::get('min', function(){
$minprice = Property::min('price');
$maxprice = Property::max('price');
$min = $minprice;
$max = $maxprice;
foreach (range($min, $max, 1) as $number) {
echo (float) $number;
}
})->name('min');
来源:使用
asort
或arsort
?(不确定您的代码是否为PHP)我使用的是Laravel PHP框架我的数据库中的价格存储为字符串
,那么您将无法获得准确的值。@vivek_23我确实获得了准确的值。请在我的问题a中查看将字符串转换为float$min=(float)$minprice;如果我回显,我可以看到值。只有不起作用的for loo。var_dump($I)inside loop并向我们展示它打印的内容!这很有效,感谢支持。我的for loop不起作用有什么原因吗?@deSousa能否请您投票并标记为选中?我们将非常感谢。@Gurpreetsigh但它不会显示数据库中的实际价格,这有什么意义?@Volodymyr请仔细阅读问题。deSousa需要从$min到$max的+1值。不是像1、5、10、41这样的值。在数据库中,我们可能没有合适的系列值。这就是为什么他接受了我的答案。@LuckySaini我的错,明白了。这实际上会起作用。我不确定OP如何假设他/她在存储所有这些值时会得到min
和max
的正确答案作为字符串。
Route::get('min', function(){
// to get prices
$prices = Property::all()->pluck('price');
// To convert them to floats
$floatPrices = array_map('floatval', $prices);
// Sort and return them
return asort($floatPrices);
})->name('min');