Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk memadam item yang ditentukan dalam tatasusunan dalam php

Bagaimana untuk memadam item yang ditentukan dalam tatasusunan dalam php

PHPz
Lepaskan: 2023-04-19 10:40:06
asal
476 orang telah melayarinya

PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang digunakan secara meluas, yang digunakan untuk membangunkan aplikasi web, tapak web dinamik, sambungan pangkalan data, dsb. Dalam PHP, tatasusunan ialah struktur data penting yang boleh menyimpan berbilang nilai dan boleh diakses dengan mudah, ditambah, diubah suai dan dipadamkan. Dalam proses pembangunan sebenar, kita selalunya perlu memadamkan elemen dalam tatasusunan atau menentukan semua elemen dengan nilai kunci yang sama. Artikel ini akan memperkenalkan cara memadam kunci yang ditentukan dalam tatasusunan menggunakan PHP.

1. Gambaran keseluruhan tatasusunan PHP

Dalam PHP, tatasusunan ialah koleksi tersusun, boleh lelar yang boleh menyimpan berbilang nilai, setiap nilai mempunyai kunci unik. Tatasusunan PHP boleh dibahagikan kepada jenis berikut:

1 Tatasusunan indeks: Gunakan kekunci integer (bermula dari 0) sebagai indeks, dan susunan storan dan susunan sisipan adalah sama.

2. Tatasusunan bersekutu: Gunakan rentetan tersuai atau kekunci angka sebagai indeks, dan hubungan antara kunci dan nilai boleh ditakrifkan secara bebas.

3. Tatasusunan berbilang dimensi: Tatasusunan mengandungi tatasusunan lain, yang boleh membentuk struktur bersarang berbilang peringkat.

Kaedah penciptaan tatasusunan PHP adalah agak fleksibel, anda boleh menggunakan tatasusunan kata kunci() atau [], anda juga boleh menggunakan fungsi julat(), fungsi meletup(), dsb.

//使用array()创建索引数组
$arr1 = array('apple', 'banana', 'orange');
//使用[]创建关联数组
$arr2 = ['name' => 'Jack', 'age' => 18, 'gender' => 'male'];
//使用range()函数创建索引数组
$arr3 = range(1, 10);
//使用explode()函数创建索引数组
$str = "apple,banana,orange";
$arr4 = explode(",", $str);

?>

2. Padamkan elemen dengan kunci indeks yang ditentukan dalam tatasusunan

Jika anda mahu untuk memadam elemen dalam tatasusunan PHP Untuk elemen, anda boleh menggunakan fungsi unset(), yang boleh memadam pembolehubah, termasuk elemen dalam tatasusunan dan atribut objek. Fungsi unset() perlu lulus dalam parameter, yang boleh menjadi pembolehubah, elemen tatasusunan atau harta objek.

$arr = array('apple', 'banana', 'orange');
unset($arr[1]); //删除索引为1的元素banana
var_dump($arr); //array(2) { [0]=> string(5) "apple" [2]=> string(6) "orange" }

?>

Dalam contoh di atas, kami mencipta tatasusunan indeks $arr dan memadamkannya menggunakan fungsi unset() Remove elemen pisang dengan indeks 1, dan kemudian gunakan fungsi var_dump() untuk mencetak tatasusunan yang dipadamkan.

Perlu diambil perhatian bahawa menggunakan fungsi unset() hanya boleh memadamkan elemen dengan kunci indeks yang ditentukan, tetapi bukan pasangan nilai kunci yang ditentukan. Jika anda ingin memadamkan elemen pasangan nilai kunci yang ditentukan, anda boleh menggunakan fungsi array_diff() untuk mencapai ini.

3. Padamkan elemen pasangan nilai kunci yang ditentukan dalam tatasusunan

Jika anda ingin memadamkan pasangan nilai kunci yang ditentukan dalam tatasusunan PHP, anda boleh menggunakan tatasusunan_diff() fungsi. Fungsi array_diff() digunakan untuk mengira perbezaan tatasusunan Jika elemen dalam tatasusunan juga wujud dalam tatasusunan lain, ia tidak akan dimasukkan dalam tatasusunan. Oleh itu, kita boleh melaksanakan operasi pemadaman dengan menghantar pasangan nilai kunci untuk dipadamkan sebagai tatasusunan kepada fungsi array_diff().

$arr = ['name' => 'Jack', 'age' => 18, 'gender' => 'male'];
$remove = ['age' => 18];
$result = array_diff($arr, $remove);
var_dump($result); //array(2) { ["name"]=> string(4) "Jack" ["gender"]=> string(4) "male" }

?>

Dalam contoh di atas, kami mencipta tatasusunan bersekutu $arr dan menggunakan tatasusunan baharu $alih keluar untuk menyimpan pasangan kunci-nilai untuk dipadamkan. Dengan memanggil fungsi array_diff(), pasangan nilai kunci yang akan dipadamkan dihantar sebagai tatasusunan dan tatasusunan hasil yang dikembalikan tidak mengandungi elemen yang akan dipadamkan.

Untuk pemadaman tatasusunan berbilang dimensi, kita boleh menggunakan fungsi rekursif.

function removeKey($array, $key)
{
    foreach ($array as $k => &$v) {
        if ($k=== $key) {
            unset($array[$k]);
        } else {
            if (is_array($v)) {
              $v = removeKey($v, $key);
            }
        }
    }
    return $array;
}

$arr = [
    'fruit' => ['apple', 'banana', 'orange'],
    'color' => [
        'red'   => 'FF0000',
        'green' => '00FF00',
        'blue'  => '0000FF'
    ]
];
$result = removeKey($arr, 'apple');
var_dump($result);

?>

Dalam contoh di atas, kami mentakrifkan fungsi removeKey(), yang menerima dua parameter, parameter Satu yang pertama ialah tatasusunan berbilang dimensi dan parameter kedua ialah kunci untuk dipadamkan. Dalam badan fungsi, kami menggunakan gelung foreach untuk melintasi tatasusunan dan menilai setiap pasangan nilai kunci Jika kunci tidak sama dengan kunci yang akan dipadam, teruskan melintasi jika kunci sama dengan kunci yang akan dipadamkan , gunakan fungsi unset() untuk mengalih keluar kunci daripada tatasusunan. Jika nilai ialah tatasusunan, fungsi removeKey() dipanggil secara rekursif. Akhirnya, tatasusunan yang dipadam dikembalikan.

4. Ringkasan

Artikel ini memperkenalkan cara memadamkan elemen dengan kunci dan elemen tertentu dengan pasangan nilai kunci tertentu dalam tatasusunan dalam PHP. Untuk tatasusunan diindeks, kita boleh menggunakan fungsi unset() untuk memadamkan elemen kunci indeks yang ditentukan untuk tatasusunan bersekutu, kita boleh menggunakan fungsi array_diff() untuk memadamkan elemen pasangan nilai kunci yang ditentukan, kita boleh gunakan fungsi rekursif untuk memadamkan kekunci yang ditentukan. Apabila kita perlu mengubah suai atau membina semula tatasusunan PHP, kita boleh menggunakan kaedah ini untuk memadamkan elemen tertentu.

Atas ialah kandungan terperinci Bagaimana untuk memadam item yang ditentukan dalam 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