PHPを使用して配列の最高値 を取得するにはどうすればよいですか?私は値のためにそれを行う方法を知っています。key/index
例:この配列から値10
として取得したい:integer
$arr = array(1 => "A", 10 => "B", 5 => "C");
どうやってコーディングできるかは知っていますが、これにも関数があるかどうか自問していました。
これはうまくいくはずです
$arr = array( 1 => "A", 10 => "B", 5 => "C" );
max(array_keys($arr));
この方法で最大のキーを取得できます。
<?php
$arr = array("a"=>"test", "b"=>"ztest");
$max = max(array_keys($arr));
?>
配列内で次に使用可能なキーを取得する必要がある状況がありました。これはhighest + 1
です。
たとえば、配列がの場合、他のどの要素よりも高いキーを持つ新しい要素を配列に追加する$data = ['1' => 'something, '34' => 'something else']
ために計算する必要がありました。35
空の配列の場合、1
次に使用可能なキーとして必要でした。
これはうまくいった解決策です:
$highest = 0;
foreach ($data as $idx => $dummy) {
if ($idx > $highest) $highest = $idx;
}
$highest++;
空の配列であろうとなかろうと、すべての場合に機能します。ではなく最も高いキーだけを見つける必要がある場合はhighest key + 1
、最後の行を削除します。
0
次に、配列が空の場合の値を取得します。
$keys = array_keys($arr);
$keys = rsort($keys);
print $keys[0];
「10」を印刷する必要があります
max()関数を試してください。そのページの最初のコメントを参照してください。
function getMaxKey(array $array): ?int
{
if ($array === []) {
return null;
}
return max(0, ...array_keys($array));
}
あなたがのような負のキーを持っていないことを前提としていますint -1
$higestKey = 0;
foreach ($data as $key => $value) {
if (strlen($key) > $higestKey) $higestKey = strlen($key);
}