Bagaimana saya bisa mendapatkan dengan PHP kunci / indeks tertinggi dalam sebuah array? Saya tahu bagaimana melakukannya untuk nilai-nilai.
Misalnya, dari larik ini saya ingin mendapatkan "10" sebagai nilai integer:
$arr = array( 1 => "A", 10 => "B", 5 => "C" );
Saya tahu bagaimana saya bisa memprogramnya, tetapi saya bertanya pada diri sendiri apakah ada fungsi untuk ini juga.
max
:If an empty array is passed, then FALSE will be returned and an E_WARNING error will be emitted.
Anda bisa mendapatkan kunci maksimum dengan cara ini:
<?php $arr = array("a"=>"test", "b"=>"ztest"); $max = max(array_keys($arr)); ?>
sumber
$keys = array_keys($arr); $keys = rsort($keys); print $keys[0];
harus mencetak "10"
sumber
Saya mengalami situasi di mana saya perlu mendapatkan kunci yang tersedia berikutnya dalam sebuah array, yang merupakan +1 tertinggi.
Misalnya, jika array adalah $ data = ['1' => 'something, '34' => 'something else'] maka saya perlu menghitung 35 untuk menambahkan elemen baru ke array yang memiliki kunci lebih tinggi dari yang manapun dari yang lain. Dalam kasus array kosong saya membutuhkan 1 sebagai kunci yang tersedia berikutnya.
Ini adalah solusi yang berhasil:
$highest = 0; foreach($data as $idx=>$dummy) { if($idx > $highest)$highest=$idx; } $highest++;
Ini akan bekerja di semua kasus, array kosong atau tidak. Jika Anda hanya perlu menemukan kunci tertinggi daripada kunci tertinggi + 1, hapus baris terakhir. Anda kemudian akan mendapatkan nilai 0 jika array kosong.
sumber
Coba max (): http://php.net/manual/en/function.max.php Lihat komentar pertama di halaman itu
sumber