(はい、この質問が古いことは知っていますが、自分の2セントをミックスに追加したいと感じました。) 猫の皮をむく方法はたくさんありますが。多数のテストを実行して行ったいくつかの観察を投稿するように感じました。同じテストを適用したり、 http: //3v4l.org/ (オンライン PHP および HHVM シェル) で適用したりすることもできます。テストするには、違いを正しく測定するために複数回実行する必要があります。テストでは、WebChemist の応答を取り、それを逆にしました。なんで?時々、ただ楽しく遊んでいます。しかし、実際の結果は、三元全体でマイクロ改善があったことを示しました。両方にさまざまな入力値を使用します。
$price_check = '...';
$filter = (
( $price_check > '500') ? '501' :
(($price_check > '200') ? '200-500' :
(($price_check > '100') ? '100-200' :
(($price_check > '50') ? '50-100' :
(($price_check > '20') ? '20-50' :
(($price_check > '0') ? '0-20' :
'0'
))))));
そして、次の例はさらに改善される可能性がありますが、これは単なる例です。したがって、それを生産レベルと判断しないでください。三項とif/elseの間の単なる考えでした。全体的に、if/else は、適用されたいずれかの三項よりも優れたパフォーマンスを発揮します。主にこのテストを行ったのは、私は常に両端で読んでいるため、3 進数の方が読みやすく、if/else の方が読みやすいからです。私は、両方とも以下の例で提供されているようにできると言います。結局のところ、どちらを使用するかは状況によって異なると私は本当に信じています。このデータに関する限り、フィルタリング価格の間です。if/else は、最終的に速度で 3 項を上回りました。また、かなり読みやすい(と思います)。最終的にはすべてがマイクロ ジャズなので、それほど重要ではありません。同意できない場合は、独自の環境で独自のテストを実行するか、提供されている Web サイトにアクセスしてください。インターネット上で言葉を信じるよりも良い場合があります。私は自分の環境とその Web サイトで多くのテストを実行し、いくつかの基本的な結論に達しました。私は今でも、三項引数と if/else 引数を使った読み物を楽しんでいます。ウェブ上に浮かぶいくつかの良い読み物。また、ドロップスルーが実際に例であなたを悩ませている場合。それを過ぎてもパフォーマンスに影響はなく、このコードを使用すると全体的に高速になります。エスケープでコーディングすることも、完全に再構築することもできます。
$price_check = '...';
$filter='501';
if($price_check > '500' || $filter='200-500')
if($price_check > '200' || $filter='100-200')
if($price_check > '100' || $filter='50-100' )
if($price_check > '50' || $filter='20-50' )
if($price_check > '20' || $filter='0-20' )
if($price_check <= '0') $filter=0;
データが適度なサイズである場合、Jon の配列の提案がおそらく最良のものであることを付け加えたいと思います。三項および if/else は、ほとんどの基本的な入れ子を処理できます。リストは適度に推奨されます。それ以上のものは、データベースにプッシュしてアクセスする必要があります。さらに、Jon のコードを少し修正しました。(三項を深くネストし、データベースに対して if/else を使用している場合は、何か問題があります。)
$data = '20.00';
$range = '';
$arr = [
'0',
'20' => '0-20',
'50' => '20-50',
'100' => '50-100',
'200' => '100-200',
'500' => '200-500'
];
foreach ($arr as $floor => $value) {
$range = $value;
if ($floor >= $data)break;
} echo $range;