PHPのmax()関数とは?配列・複数の値から最大値を取得する方法を解説
max()関数の定義と用途
PHPのmax()関数は、配列の中から最も大きい要素、または2つ以上のカンマ区切りの引数の中から最大の値を返す組み込み関数です。数値だけでなく文字列の比較にも対応しており、さまざまな場面で活用できます。
構文
配列を引数として渡す場合:
max ( array $values ) : mixed
または
複数の値を直接渡す場合:
max ( mixed $value1 [, mixed $... ] ) : mixed
パラメータ
| No. | パラメータと説明 |
|---|---|
| 1 | values 引数が1つだけ指定された場合は、同じ型または異なる型の値を含む配列を渡す必要があります。 |
| 2 | value1, value2, ... 2つ以上の引数が指定された場合は、比較可能な値(型は同じでも異なっても可)を渡します。 |
戻り値
max()関数は、配列または一連の値の中から最大の値を返します。比較には標準的な比較演算子が適用されます。なお、異なる型の複数の値が等しいと評価される場合(例えば 0 と 'PHP' など)、関数に渡された最初のパラメータが返される点に注意してください。
対応するPHPバージョン
この関数は、PHP 4.x、PHP 5.x、PHP 7.x のすべてのバージョンで利用可能です。
例1:数値の配列から最大値を取得
以下の例では、数値を含む配列から最大値を返します。
<?php
$arg=array(23, 5.55, 142, 56, 99);
echo "array=";
foreach ($arg as $i) echo $i . ",";
echo "\n";
echo "max = " . max($arg);
?>
出力結果
このコードを実行すると、次の結果が出力されます。
array=23,5.55,142,56,99,
max = 142
例2:文字列の配列から最大値を取得
文字列の配列にmax()関数を使用した例です。文字列の場合は、先頭の文字から辞書順(ASCIIコード順)に比較され、「P」が最も大きな文字として扱われるため「PHP」が最大値となります。
<?php
$arg=array("Java", "Angular", "PHP", "C", "Kotlin");
echo "array=";
foreach ($arg as $i) echo $i . ",";
echo "\n";
echo "max = " . max($arg);
?>
出力結果
このコードを実行すると、次の結果が出力されます。
array=Java,Angular,PHP,C,Kotlin,
max = PHP
例3:複数の文字列値を直接指定する
次の例では、個別の変数に格納された文字列値を、max()関数の引数として直接渡しています。
<?php
$val1="Java";
$val2="Angular";
$val3="PHP";
$val4="C";
$val5="Kotlin";
echo "values=" . $val1 . "," . $val2 . "," . $val3 . "," . $val4 . "," . $val5 . "\n";
echo "max = " . max($val1, $val2, $val3,$val4,$val5);
?>
出力結果
このコードを実行すると、次の結果が出力されます。
values=Java,Angular,PHP,C,Kotlin
max = PHP
例4:混合データ型の配列から最大値を取得
以下の例では、数値と文字列が混在する配列をmax()関数に渡しています。数値同士の比較では 1e2(100)は 100 として扱われ、最大値は 142 となります。
<?php
$arg=array(23, "Java", 142, 1e2, 99);
echo "array=";
foreach ($arg as $i) echo $i . ",";
echo "\n";
echo "max = " . max($arg);
?>
出力結果
このコードを実行すると、次の結果が出力されます。
array=23,Java,142,100,99,
max = 142
まとめ
PHPのmax()関数は、配列または複数の引数から最大値を簡単に取得できる便利な関数です。数値・文字列・混合データのいずれにも対応していますが、異なる型が混在する場合はPHPの型比較ルールが適用されるため、意図しない結果にならないよう注意して使用しましょう。
-
PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説
lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し
-
PHPのmax()関数とは?最大値を取得する方法を実例付きで解説
PHPのmax()関数は、配列または複数の引数の中から最大値を返す組み込み関数です。数値だけでなく文字列も比較できるため、データの中で最も大きい値を簡単に取得したいときに便利です。 構文 max(arr_values); または max(val1, val2, ...); パラメータ arr_values − 値が格納された配列。 val1, val2, ... − 比較対象となる複数の値。 戻り値 max()関数は、渡された値の中で最も大きい(最大の)値を返します。引数に配列を指定した場合は、その配列内の最大値を返します。 使用例:複数の値を直接渡す まず、複数の値を引数として直