100

を使用して配列の最高値 を取得するにはどうすればよいですか?私は値のためにそれを行う方法を知っています。key/index

例:この配列から値10として取得したい:integer

$arr = array(1 => "A", 10 => "B", 5 => "C");

どうやってコーディングできるかは知っていますが、これにも関数があるかどうか自問していました。

4

7 に答える 7

222

これはうまくいくはずです

$arr = array( 1 => "A", 10 => "B", 5 => "C" );
max(array_keys($arr));
于 2011-05-25T14:34:33.570 に答える
33

この方法で最大のキーを取得できます。

<?php
$arr = array("a"=>"test", "b"=>"ztest");
$max = max(array_keys($arr));
?>
于 2011-05-25T14:36:31.353 に答える
2

配列内で次に使用可能なキーを取得する必要がある状況がありました。これは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次に、配列が空の場合の値を取得します。

于 2019-09-30T07:41:28.180 に答える
1
$keys = array_keys($arr);
$keys = rsort($keys);

print $keys[0];

「10」を印刷する必要があります

于 2011-05-25T14:33:56.510 に答える
0

max()関数を試してください。そのページの最初のコメントを参照してください。

于 2011-05-25T14:33:55.800 に答える
0
function getMaxKey(array $array): ?int
{
    if ($array === []) {
        return null;
    }

    return max(0, ...array_keys($array));
}

あなたがのような負のキーを持っていないことを前提としていますint -1

于 2021-09-21T14:37:52.007 に答える
-2
$higestKey = 0;
foreach ($data as $key => $value) {
    if (strlen($key) > $higestKey) $higestKey = strlen($key);
}
于 2021-07-17T23:56:50.167 に答える