Bagaimana untuk mencari nilai maksimum dan kunci tatasusunan dalam php

PHPz
Lepaskan: 2023-04-17 17:14:33
asal
1195 orang telah melayarinya

Tatasusunan dalam PHP ialah jenis data yang sangat biasa, dan kadangkala perlu mencari nilai maksimum dan nilai kunci yang sepadan (Kunci) dalam tatasusunan Artikel ini akan memperkenalkan cara melaksanakan operasi ini dalam PHP.

1. Cari nilai maksimum

Dalam PHP, terdapat dua cara untuk mencari nilai maksimum dalam tatasusunan:

1 Gunakan fungsi max(). >

Fungsi max() terbina dalam PHP boleh mengeluarkan nilai maksimum dalam tatasusunan dan mengembalikan nilai maksimum ini dengan mudah. Sintaks untuk menggunakan fungsi ini sangat mudah:

$max = max($arr);
Salin selepas log masuk
Antaranya, $arr ialah tatasusunan yang perlu disoal, dan $max ialah nilai maksimum yang dikembalikan. Contohnya:

$arr = array(2, 6, 3, 1, 8, 5);
$max = max($arr);
echo $max; // 输出8
Salin selepas log masuk
2. Gunakan gelung foreach

Kaedah lain ialah menggunakan gelung foreach untuk membandingkan saiz setiap elemen secara bergilir-gilir, dan dapatkan nilai maksimum melalui perbandingan. Kaedah pelaksanaan khusus adalah seperti berikut:

$max = $arr[0];
foreach ($arr as $value) {
    if ($value > $max) {
        $max = $value;
    }
}
Salin selepas log masuk
Antaranya, $arr ialah tatasusunan yang perlu disoal, dan $max ialah nilai maksimum semasa. Gelung foreach merentasi setiap elemen untuk menentukan sama ada ia lebih besar daripada nilai maksimum semasa Jika ia lebih besar daripada nilai maksimum semasa, tetapkan semula kepada $max.

2. Cari Kunci yang sepadan

Masalah mencari nilai maksimum dalam tatasusunan telah selesai.

1 Gunakan fungsi array_keys() dan max()

Fungsi array_keys() dan max() terbina dalam PHP boleh digunakan dalam kombinasi untuk mendapatkan semula nilai kunci maksimum dengan mudah. nilai dalam tatasusunan. Format yang digunakan adalah seperti berikut:

$keys = array_keys($arr, max($arr));
Salin selepas log masuk
Antaranya, $arr ialah tatasusunan yang perlu disoal, max($arr) mengembalikan nilai maksimum tatasusunan ini dan fungsi array_keys() menggunakan nilai maksimum ini untuk dikembalikan Tatasusunan nilai kunci yang sepadan. Contohnya:

$arr = array('a' => 2, 'b' => 6, 'c' => 3, 'd' => 1, 'e' => 8, 'f' => 5);
$keys = array_keys($arr, max($arr));
print_r($keys); // 输出:Array ([0] => e)
Salin selepas log masuk
$arr di sini ialah tatasusunan bersekutu, nilai maksimum dalam tatasusunan sepadan dengan nilai kunci 'e', ​​​​nilai kunci ini disimpan dalam tatasusunan $keys.

2. Gunakan gelung foreach

Kaedah lain ialah membandingkan saiz setiap elemen secara bergilir-gilir melalui gelung foreach untuk mendapatkan nilai kunci yang sepadan dengan nilai maksimum. Kaedah pelaksanaan khusus adalah seperti berikut:

// 第一步:获取最大值
$max = $arr[0];
foreach ($arr as $value) {
    if ($value > $max) {
        $max = $value;
    }
}

// 第二步:获取最大值对应的键值
$key = array();
foreach ($arr as $k => $v) {
    if ($v == $max) {
        $key[] = $k;
    }
}

// 输出最大值对应的键值
print_r($key);
Salin selepas log masuk
Kami mula-mula memperoleh nilai maksimum $max dalam tatasusunan melalui gelung foreach, dan kemudian gunakan gelung foreach sekali lagi untuk mencari nilai kunci yang sepadan dengan nilai maksimum . Kaedah pelaksanaan khusus ialah setiap gelung terlebih dahulu menentukan sama ada elemen semasa adalah sama dengan $max Jika ia sama, nilai kunci semasa $k disimpan dalam tatasusunan $key, dan akhirnya tatasusunan $key adalah output.

3. Contoh Demonstrasi

Untuk menunjukkan dengan lebih khusus cara mencari nilai maksimum dan Kunci yang sepadan dalam PHP, mari kita lakukan contoh mudah: Andaikan maklumat pengguna berikut (ID , nama dan umur):

$id_name_age = array(
    array('id' => 1, 'name' => '张三', 'age' => 20),
    array('id' => 2, 'name' => '李四', 'age' => 25),
    array('id' => 3, 'name' => '王五', 'age' => 30),
    array('id' => 4, 'name' => '赵六', 'age' => 22),
    array('id' => 5, 'name' => '钱七', 'age' => 28),
    array('id' => 6, 'name' => '孙八', 'age' => 18)
);
Salin selepas log masuk
Kita perlu mengetahui pengguna mana yang paling tua dan mengeluarkan ID, nama dan umur pengguna. Pelaksanaan khusus adalah seperti berikut:

// 第一步:获取年龄最大值
$ages = array();
foreach ($id_name_age as $value) {
    $ages[] = $value['age'];
}
$max_age = max($ages);

// 第二步:获取年龄最大值对应的用户信息
$max_age_user = array();
foreach ($id_name_age as $value) {
    if ($value['age'] == $max_age) {
        $max_age_user = $value;
        break;
    }
}

// 输出年龄最大值对应的用户信息
echo 'ID:' . $max_age_user["id"] . '<br/>';
echo '姓名:' . $max_age_user["name"] . '<br/>';
echo '年龄:' . $max_age_user["age"] . '<br/>';
Salin selepas log masuk
Di sini kita mula-mula melintasi tatasusunan $id_name_age melalui gelung foreach, keluarkan umur setiap pengguna, dan kemudian gunakan fungsi max() untuk mendapatkan nilai maksimum daripada tatasusunan ini, $max_age. Kemudian gunakan gelung foreach sekali lagi untuk mencari maklumat pengguna dengan umur $max_age dan simpannya dalam tatasusunan $max_age_user Akhir sekali, keluarkan ID pengguna, nama dan umur.

4. Ringkasan

Melalui pengenalan dan contoh di atas, kita dapat melihat bahawa ia bukanlah operasi yang sangat sukar untuk mencari nilai maksimum dan Kunci yang sepadan dalam tatasusunan dalam PHP. Tidak kira dari segi kerumitan pelaksanaan kod atau kecekapan pengendalian, PHP telah menyediakan pelbagai cara yang berkesan untuk menyelesaikan operasi ini. Oleh itu, menguasai kaedah ini sangat membantu untuk kerja pengaturcaraan PHP harian.

Atas ialah kandungan terperinci Bagaimana untuk mencari nilai maksimum dan kunci tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan