1

OpenCartの製品フィルターの1つを変更して、価格で製品の出入りをフィルター処理しています。私がやっていることは、特定のカテゴリに属する​​すべての製品を取得し、それらの価格を抽出してスライダーに入れることですが、これはエレガントまたは「プロフェッショナル」ではないため、適切なソリューションをコーディングしたいと思います。

次の価格があるとしましょう:125、270、517、1680、14790。私がやりたいのは(理想的には)最大の数値(この短い例では14790)を取得し、そこから「15000」のようなものを取得することです。 、それで私はそれを与えられた係数(100のような)の間で分割し、それをスライダーに入れることができます。

この種の計算を行うためのPHP関数はありますか?

4

4 に答える 4

3

私があなたの質問を理解し、本質的に最も近い100に丸めることを求めている場合、特定の関数はありませんが、少しの数学で、次のように最も近い100に丸めることができます。

$price = ceil($price / 100) * 100;

使用:

$price = ceil($price / 1000) * 1000;

1000に最も近い値に丸められます。

于 2013-02-27T08:28:04.180 に答える
2

最大数を取得し、それを千の位に切り上げますか?

<?php

$largest = max(125, 270, 517, 1680, 14790);

$nearest = ceil($largest / 1000) * 1000;
于 2013-02-27T08:28:22.937 に答える
1

数字をループして、最高値を覚えておくことができます。これは一般的なコーディング手法です。(実際にはmax()関数もあります。echomax(1、3、5、6、7 ); // 7

次に、最大数を因数で割り、取得した整数を取得してそれに1を加算し、次に因数を掛けて、そこに進みます。

于 2013-02-27T08:26:16.527 に答える
1

実行するだけです:x = floor(14790/100); 床関数は次に小さい整数値を返します

于 2013-02-27T08:27:51.703 に答える