• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのmin関数、「1」以上の数値を取得)

PHPのmin関数、「1」以上の数値を取得

このQ&Aのポイント
  • PHPのmin関数を使用する際に、「1」以上の数値を取得する方法を知りたい。
  • 最小値を求めるmin関数を使用しているが、0が表示されるため、1以上の数値に限定する方法が知りたい。
  • 子ども服の料金の最安値を求める際に、min関数を使用しようとしているが、0が表示されるため、1以上の数値に限定する方法を教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.3

$price = array_filter($price);

makino03
質問者

お礼

ありがとうございます。 ズバリこれで解決しました、非常に参考になりました。

その他の回答 (4)

noname#244856
noname#244856
回答No.5

SQL文修正 $stmt = $pdo->query('SELECT `size`, `price` FROM `info` WHERE `price` > 0');

makino03
質問者

お礼

ありがとうございます。 こういうやり方もあるのですね、非常に参考になりました。

noname#244856
noname#244856
回答No.4

yambejpさんの方法をSQL実行と共に1発で実現するならこんなふうに書きます。 clothesデータベースのinfoテーブルが id| size | price 0 |60 | 0 1 |70 | 0 2 |80 | 0 3 |90 | 2000 4 |100 | 2000 … のような構造であると仮定します。(size, price以外のカラムはあっても無くてもいい) try { $pdo = new PDO('mysql:dbname=clothes;host=127.0.0.1;charset=utf8'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->query('SELECT `size`, `price` FROM `info`'); $results = $stmt->fetchAll(PDO::FETCH_KEY_PAIR); var_dump($results); } catch (Exception $e) { echo 'エラー: ' . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8'); } PDOの使い方をご存じなければ調べてみてください。 どの API を使うか http://www.php.net/manual/ja/mysqlinfo.api.choosing.php この中ではPDOが最もオススメできます。 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); としてSQLエラー時にも例外をスローさせることが出来るのはPDOだけの強みです。

makino03
質問者

お礼

ありがとうございます。 PDOは便利ですね。こういうやり方もあるのですね、非常に参考になりました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

サイズのあるものだけ配列に収納しておけばよいでしょう <?PHP $price = array(90=>2000,100=>2000,110=>2500,120=>3000); print "MIN:".min($price)."<br>"; print "MAX:".max($price)."<br>"; ?>

makino03
質問者

お礼

ありがとうございます。 参考にして解決できました、こういうやり方もあるのですね、非常に参考になりました。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

$price = array_diff(array(0,0,0,2000,2000,2500,3000,0,),array(0)); で、0 が削除できます。

makino03
質問者

お礼

ありがとうございます。 非常に参考になりました。こんなに短い文で解決するとは!驚きです

関連するQ&A