Dari array yang terlihat seperti berikut, bagaimana saya bisa mendapatkan indeks nilai tertinggi dalam array. Untuk larik di bawah ini, hasil yang diinginkan adalah '11'.
Array (
[11] => 14
[10] => 9
[12] => 7
[13] => 7
[14] => 4
[15] => 6
)
reset($arr); echo key($arr);
:)Jawaban:
Solusi saya adalah:
Catatan:
dengan cara ini Anda dapat mengambil setiap kunci yang terkait dengan nilai maks yang diberikan.
Jika Anda hanya tertarik pada satu kunci di antara semua, cukup gunakan $ maxs [0]
sumber
array_keys
) dan Anda hanya akan mendapatkan satu kunci yang sesuai dengan maks nilai<?php $array = array(11 => 14, 10 => 9, 12 => 7, 13 => 7, 14 => 4, 15 => 6); echo array_search(max($array), $array); ?>
array_search () mengembalikan nilai:
Mengembalikan kunci untuk jarum jika ditemukan dalam larik, FALSE sebaliknya.
Jika jarum ditemukan di tumpukan jerami lebih dari sekali, kunci pertama yang cocok dikembalikan. Untuk mengembalikan kunci untuk semua nilai yang cocok, gunakan array_keys () dengan parameter search_value opsional.
sumber
Saya tahu ini sudah terjawab tetapi berikut adalah solusi yang menurut saya lebih elegan:
arsort($array); reset($array); echo key($array);
dan voila!
sumber
reset
tidak perlu, btw.Jawaban lain mungkin memiliki kode yang lebih pendek tetapi yang ini harus paling efisien dan mudah dipahami.
/** * Get key of the max value * * @var array $array * @return mixed */ function array_key_max_value($array) { $max = null; $result = null; foreach ($array as $key => $value) { if ($max === null || $value > $max) { $result = $key; $max = $value; } } return $result; }
sumber
Sesuatu seperti ini seharusnya berhasil
function array_max_key($array) { $max_key = -1; $max_val = -1; foreach ($array as $key => $value) { if ($value > $max_val) { $max_key = $key; $max_val = $value; } } return $max_key; }
sumber
Solusi saya untuk mendapatkan kunci yang lebih tinggi adalah sebagai berikut:
max(array_keys($values['Users']));
sumber
sumber
<?php $array = array ( '11' => 14, '10' => 9, '12' => 7, '13' => 7, '14' => 4, '15' => 6 ); foreach ($array as $key => $value) { if ($value >= $max) $max = max($array); } echo " The array in Maximum Value :".$max."<br/>"; ?>
sumber
Fungsi diambil dari http://www.php.net/manual/en/function.max.php
function max_key($array) { foreach ($array as $key => $val) { if ($val == max($array)) return $key; } } $arr = array ( '11' => 14, '10' => 9, '12' => 7, '13' => 7, '14' => 4, '15' => 6 ); die(var_dump(max_key($arr)));
Bekerja seperti pesona
sumber