PHPで配列内の最高のキー/インデックスを取得するにはどうすればよいですか?私はそれを値に対して行う方法を知っています。
たとえば、この配列から整数値として「10」を取得します。
$arr = array( 1 => "A", 10 => "B", 5 => "C" );
どうすればプログラムできるのかはわかっていますが、そのための機能もあるのかと考えていました。
PHPで配列内の最高のキー/インデックスを取得するにはどうすればよいですか?私はそれを値に対して行う方法を知っています。
たとえば、この配列から整数値として「10」を取得します。
$arr = array( 1 => "A", 10 => "B", 5 => "C" );
どうすればプログラムできるのかはわかっていますが、そのための機能もあるのかと考えていました。
回答:
これはうまくいくはずです
$arr = array( 1 => "A", 10 => "B", 5 => "C" );
max(array_keys($arr));
max
If an empty array is passed, then FALSE will be returned and an E_WARNING error will be emitted.
次の方法で最大キーを取得できます。
<?php
$arr = array("a"=>"test", "b"=>"ztest");
$max = max(array_keys($arr));
?>
私は、配列で次に利用可能なキー、つまり最上位の+1を取得する必要がある状況にありました。
たとえば、配列が$ data = ['1' => 'something、'34' => 'something other']の場合、35を計算して、どのキーよりも高いキーを持つ配列に新しい要素を追加する必要がありました。他の。空の配列の場合、次に利用可能なキーとして1が必要でした。
これが機能したソリューションです:
$highest = 0;
foreach($data as $idx=>$dummy)
{
if($idx > $highest)$highest=$idx;
}
$highest++;
空の配列かどうかにかかわらず、すべてのケースで機能します。最高のキー+ 1ではなく最高のキーのみを検索する必要がある場合は、最後の行を削除します。配列が空の場合、値は0になります。
max()を試してください:http : //php.net/manual/en/function.max.php そのページの最初のコメントを参照してください