Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mencari kedudukan nombor dalam tatasusunan dalam php

Bagaimana untuk mencari kedudukan nombor dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-23 10:14:491115semak imbas

Dalam banyak kes, kita perlu menanyakan kedudukan nombor dalam tatasusunan. Sebagai contoh, dalam pelbagai markah ujian, kami ingin mengetahui kedudukan kami. Dalam PHP, kita boleh menggunakan pelbagai kaedah untuk mencapai fungsi ini. Di bawah, saya akan memperkenalkan beberapa kaedah pelaksanaan.

Kaedah 1: Gunakan fungsi array_search

Fungsi carian_tatasusunan boleh mencari nilai yang diberikan dalam tatasusunan dan mengembalikan nama kunci di mana ia berada. Dengan bantuan fungsi ini, kita boleh mendapatkan kedudukan nombor tertentu dalam tatasusunan dengan mudah, dan kemudian membandingkannya dengan skor lain untuk mendapatkan kedudukan. Berikut ialah contoh kod:

<?php
$grades = array(85, 90, 73, 79, 92, 88, 75);
rsort($grades); // 按照从高到低的顺序排序
$rank = array_search(79, $grades) + 1;
echo "您的成绩在数组中的排名是第 $rank 名。";
?>

Dalam kod di atas, fungsi rsort mengisih tatasusunan dari tinggi ke rendah. Kemudian, kami menggunakan fungsi array_search untuk mencari kedudukan nombor 79 dalam tatasusunan, dan tambah 1 untuk mendapatkan kedudukan. Hanya keluarkan ranking akhir.

Nota: Jika terdapat berbilang nombor yang sama dalam tatasusunan, fungsi carian_tatasusunan hanya akan mengembalikan nama kunci item padanan pertama. Jika anda perlu mendapatkan kedudukan semua item yang sepadan, anda perlu mengulangi keseluruhan tatasusunan untuk mencarinya.

Kaedah 2: Gunakan fungsi array_flip dan sort

Kaedah ini memerlukan penggunaan fungsi array_flip terlebih dahulu untuk menukar kunci dan nilai tatasusunan asal, dan kemudian menggunakan fungsi assort untuk mengisih tatasusunan dalam susunan menaik mengikut nilai Kemudian gunakan fungsi array_flip untuk menukar kunci dan nilai kembali. Akhir sekali, cari sahaja kedudukan nombor yang diberikan dalam tatasusunan baharu. Berikut ialah kod sampel:

<?php
$grades = array(85, 90, 73, 79, 92, 88, 75);
$flipped_array = array_flip($grades);
asort($flipped_array);
$rank = array_search(79, $flipped_array) + 1;
echo "您的成绩在数组中的排名是第 $rank 名。";
?>

Dalam kod di atas, kita mula-mula menukar kunci dan nilai tatasusunan asal, dan kemudian mengisih mengikut nilai dalam tertib menaik. Dengan cara ini, kunci dengan nilai terkecil diletakkan di kedudukan pertama, kunci dengan nilai kedua terkecil diletakkan di kedudukan kedua, dan seterusnya. Akhir sekali, cari sahaja kedudukan nombor yang diberikan dalam tatasusunan baharu dan tambah 1.

Ringkasan:

Kedua-dua kaedah di atas boleh digunakan untuk mencari kedudukan nombor tertentu dalam tatasusunan. Perlu diingatkan bahawa jika terdapat berbilang nombor yang sama dalam tatasusunan, keseluruhan tatasusunan perlu dilalui untuk menentukan kedudukannya dalam tatasusunan. Selain itu, kaedah yang berbeza juga mempunyai senario terpakai yang berbeza, dan ia perlu dipilih dan digunakan mengikut situasi sebenar.

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

Kenyataan:
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