Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php menggunakan syarat pertanyaan tatasusunan

php menggunakan syarat pertanyaan tatasusunan

PHPz
PHPzasal
2023-05-07 17:06:11578semak imbas

Dengan pembangunan berterusan Internet dan populariti aplikasi, pembangunan web telah menjadi bahagian yang amat diperlukan dalam bidang perniagaan. Untuk pembangunan aplikasi web, banyak bahasa pengaturcaraan menyediakan beberapa alat sokongan dan perpustakaan kelas untuk membangunkan aplikasi dengan cepat dan cekap. Sebagai bahasa pembangunan web yang digunakan secara meluas, PHP juga menyediakan pelbagai ciri bahasa dan perpustakaan kelas. Antaranya, tatasusunan ialah salah satu jenis data yang paling penting dalam PHP dan memainkan peranan yang sangat penting dalam pertanyaan dan pemprosesan data. Artikel ini terutamanya memperkenalkan cara menggunakan tatasusunan untuk mengendalikan keadaan pertanyaan dalam PHP.

1. Tatasusunan dalam PHP

Dalam PHP, tatasusunan ialah jenis data yang sangat penting. Terdapat dua jenis tatasusunan dalam PHP: tatasusunan diindeks dan tatasusunan bersekutu. Antaranya, tatasusunan indeks ialah senarai nombor berturut-turut yang mengandungi indeks unsur. Tatasusunan bersekutu ialah senarai yang mengandungi perkaitan antara nama dan nilai. Penggunaan tatasusunan dalam PHP adalah sangat fleksibel Anda boleh mengakses terus elemen dalam tatasusunan melalui subskrip, atau anda boleh menggunakan pelbagai fungsi yang disediakan oleh PHP untuk merentasi, bertanya dan mengubah suai tatasusunan.

2. Gunakan tatasusunan untuk operasi keadaan pertanyaan

Dalam PHP, adalah perkara biasa untuk menggunakan tatasusunan untuk operasi keadaan pertanyaan. Syarat pertanyaan boleh menjadi gabungan satu atau lebih operan, operator dan syarat perbandingan. Dalam aplikasi praktikal, tatasusunan sering digunakan untuk menyimpan keadaan pertanyaan untuk memudahkan operasi pertanyaan dan penapis. Seterusnya, mari kita lihat cara menggunakan tatasusunan untuk melaksanakan operasi keadaan pertanyaan.

  1. Perbandingan kesaksamaan mudah

Andaikan kita mempunyai tatasusunan yang mengandungi beberapa elemen, setiap elemen mengandungi ID dan nama. Kami ingin menanyakan semua elemen bernama "Zhang San" daripada tatasusunan ini. Anda boleh menggunakan kod berikut:

<?php
$students = array(
    array("id" => 1, "name" => "张三"),
    array("id" => 2, "name" => "李四"),
    array("id" => 3, "name" => "王五")
);

$searchName = "张三";
foreach ($students as $student) {
    if ($student["name"] == $searchName) {
        echo "ID:" . $student["id"] . ",名字:" . $student["name"] . "<br>";
    }
}
?>

Dalam kod di atas, kami mula-mula mentakrifkan tatasusunan $pelajar yang mengandungi beberapa maklumat pelajar. Kemudian, kami mentakrifkan pembolehubah $searchName untuk mewakili nama yang akan ditanya. Seterusnya, gunakan gelung foreach untuk lelaran melalui tatasusunan dan bandingkan nama setiap elemen dengan pembolehubah $searchName. Jika sama, cetak ID dan nama elemen.

  1. Gunakan tatasusunan sebagai syarat pertanyaan

Andaikan kita mempunyai jadual yang mengandungi beberapa maklumat pengguna, setiap satunya mengandungi ID, nama, jantina dan umur. Kami ingin menanyakan maklumat pengguna berdasarkan syarat pertanyaan yang berbeza. Contohnya, tanya pengguna wanita yang umurnya kurang daripada atau sama dengan 30 tahun. Anda boleh menggunakan kod berikut:

<?php
$users = array(
    array("id" => 1, "name" => "张三", "sex" => "男", "age" => 28),
    array("id" => 2, "name" => "李四", "sex" => "男", "age" => 32),
    array("id" => 3, "name" => "王五", "sex" => "女", "age" => 27),
    array("id" => 4, "name" => "赵六", "sex" => "女", "age" => 29)
);

$searchCondition = array(
    "sex" => "女",
    "age" => array("<=" => 30)
);

foreach ($users as $user) {
    $match = true;
    foreach ($searchCondition as $key => $value) {
        if (is_array($value)) {
            foreach ($value as $operator => $operand) {
                switch ($operator) {
                    case "<":
                        $match = $match && ($user[$key] < $operand);
                        break;
                    case "<=":
                        $match = $match && ($user[$key] <= $operand);
                        break;
                    case ">":
                        $match = $match && ($user[$key] > $operand);
                        break;
                    case ">=":
                        $match = $match && ($user[$key] >= $operand);
                        break;
                    case "=":
                        $match = $match && ($user[$key] == $operand);
                        break;
                    case "!=":
                        $match = $match && ($user[$key] != $operand);
                        break;
                    default:
                        die("Invalid operator: " . $operator);
                }
            }
        } else {
            $match = $match && ($user[$key] == $value);
        }
    }
    if ($match) {
        echo "ID:" . $user["id"] . ",名称:" . $user["name"] . ",性别:" . $user["sex"] . ",年龄:" . $user["age"] . "<br>";
    }
}
?>

Dalam kod di atas, kami mula-mula mentakrifkan tatasusunan $pengguna yang mengandungi berbilang maklumat pengguna. Kemudian, kami menentukan tatasusunan $searchCondition untuk menanyakan maklumat pengguna. Dalam tatasusunan $searchCondition, nama kunci mewakili nama medan yang hendak disoal dan nilai kunci mewakili syarat yang hendak disoal. Sebagai contoh, $searchCondition["age"] = array("<=" => 30) bermaksud untuk menanyakan pengguna yang umurnya kurang daripada atau sama dengan 30 tahun. Tatasusunan $value boleh mengandungi berbilang syarat untuk memudahkan keperluan kerumitan pertanyaan.

Dalam kod, kami menggunakan gelung foreach bersarang untuk membandingkan setiap medan dalam maklumat pengguna dengan keadaan dalam tatasusunan keadaan carian satu demi satu dan menggunakan pernyataan suis untuk mengira hasil yang sepadan. Akhir sekali, jika perlawanan berjaya, maklumat pengguna akan dikeluarkan.

3. Ringkasan

Pada ketika ini, kami telah menguasai kaedah menggunakan tatasusunan untuk menanyakan keadaan dalam PHP. Menggunakan operasi keadaan pertanyaan tatasusunan boleh memudahkan logik pertanyaan dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Pada masa yang sama, kita juga harus ambil perhatian bahawa untuk pertanyaan besar dan kompleks, menggunakan operasi keadaan pertanyaan tatasusunan boleh mengurangkan prestasi program, jadi keseimbangan masa dan ruang perlu dipertimbangkan dalam aplikasi praktikal.

Atas ialah kandungan terperinci php menggunakan syarat pertanyaan tatasusunan. 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