cari
Rumahpembangunan bahagian belakangmasalah PHPMari kita bincangkan secara mendalam tentang operasi elemen penggantian tatasusunan PHP

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas Ia mempunyai keupayaan pemprosesan data yang berkuasa dan fleksibiliti dan digunakan secara meluas dalam pembangunan web. Antaranya, tatasusunan adalah jenis data yang sangat penting, sering digunakan untuk menyimpan dan mengendalikan data. Dalam PHP, kita boleh menggunakan fungsi terbina dalam untuk melaksanakan pelbagai operasi pada tatasusunan, seperti menambah, memadam, bertanya, menyusun, melintasi, dll. Artikel ini akan menumpukan pada operasi elemen penggantian tatasusunan PHP dan memberikan contoh kod khusus.

1. Fungsi biasa untuk menggantikan elemen tatasusunan

PHP menyediakan berbilang fungsi untuk menggantikan elemen dalam tatasusunan, di mana tiga fungsi berikut adalah yang paling biasa digunakan:

  1. array_replace($array1, $array2)

Fungsi ini menggantikan elemen dalam array 2 dengan elemen yang sepadan dalam array 1. Jika terdapat nama kunci yang sama dalam array 1 atau array 2, Kemudian gunakan nilai dalam tatasusunan terakhir untuk menggantikan nilai dalam tatasusunan sebelumnya. Sila lihat contoh kod berikut:

$array1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$array2 = array('a' => 'apricot', 'd' => 'date');
$result = array_replace($array1, $array2);
print_r($result);

Laksanakan kod di atas, anda akan mendapat output berikut:

Array
(
    [a] => apricot
    [b] => banana
    [c] => cherry
    [d] => date
)

Seperti yang anda lihat, pasangan nilai kunci dalam tatasusunan 1 ('a'= >'apple') telah digantikan dengan pasangan nilai kunci dalam tatasusunan 2 ('a'=>'aprikot'), dan pasangan nilai kunci baharu dalam tatasusunan 2 ('d' =>'tarikh') Juga ditambah pada tatasusunan hasil akhir.

  1. array_replace_recursive($array1, $array2)

Fungsi ini sangat serupa dengan array_replace(), tetapi ia secara rekursif menggantikan elemen dalam array 2 dengan array 1 elemen sepadan . Jika nilai dalam tatasusunan1 atau tatasusunan2 ialah tatasusunan, pasangan nilai kunci dalam nilai itu juga akan diganti secara rekursif. Sila lihat contoh kod berikut:

$array1 = array('a' => array('b' => 'blue', 'c' => 'cyan'), 'd' => 'black');
$array2 = array('a' => array('b' => 'brown', 'e' => 'emerald'));
$result = array_replace_recursive($array1, $array2);
print_r($result);

Laksanakan kod di atas, anda akan mendapat output berikut:

Array
(
    [a] => Array
        (
            [b] => brown
            [c] => cyan
            [e] => emerald
        )

    [d] => black
)

Seperti yang anda lihat, pasangan nilai kunci dalam tatasusunan 1 ('a'= >array('b'=>'blue', 'c'=>'cyan')) telah digantikan dengan pasangan nilai kunci dalam tatasusunan 2 ('a'=> array('b'=>' brown', 'e'=>'zamrud')). Selain itu, subarray dalam tatasusunan juga diganti secara rekursif.

  1. array_splice($array, $offset, $length, $replacement)

Fungsi ini digunakan untuk memadam elemen pada kedudukan yang ditentukan dalam tatasusunan dan memasukkan yang baru pada elemen kedudukan itu. Khususnya, parameter $offset mewakili kedudukan indeks permulaan elemen yang akan dipadam/diganti, parameter $length mewakili bilangan elemen yang akan dipadam (0 jika tiada elemen dipadamkan), dan parameter $replacement mewakili elemen baharu untuk dimasukkan. Sila lihat contoh kod berikut:

$array = array('red', 'green', 'blue', 'yellow');
array_splice($array, 1, 2, array('purple', 'orange'));
print_r($array);

Laksanakan kod di atas dan anda akan mendapat output berikut:

Array
(
    [0] => red
    [1] => purple
    [2] => orange
    [3] => yellow
)

Seperti yang anda lihat, 2 elemen bermula dari indeks 1 dalam tatasusunan asal ( 'hijau', 'biru') telah dialih keluar dan dua elemen baharu ('ungu', 'oren') telah dimasukkan pada indeks 1.

2. Contoh Aplikasi

Sekarang, mari kita lihat cara menggunakan fungsi di atas untuk menggantikan elemen dalam tatasusunan PHP berdasarkan senario aplikasi tertentu.

  1. Penggunaan peraturan penggantian

Andaikan kita mempunyai tatasusunan yang mana nama utamanya ialah nama Cina bagi sesetengah tumbuhan dan nilai utamanya ialah nama Inggerisnya. Sekarang, kami ingin menggantikan nama Inggeris beberapa tumbuhan ini, seperti "epal" dengan "oren" dan "ceri" dengan "anggur", meninggalkan yang lain tidak berubah. Ini boleh dicapai menggunakan fungsi array_replace(). Sila lihat contoh kod di bawah:

$plants = array('苹果' => 'apple', '香蕉' => 'banana', '樱桃' => 'cherry', '葡萄' => 'grape');
$rules = array('apple' => 'orange', 'cherry' => 'grape');
$newPlants = array_replace($plants, $rules);
print_r($newPlants);

Laksanakan kod di atas, anda akan mendapat output berikut:

Array
(
    [苹果] => orange
    [香蕉] => banana
    [樱桃] => grape
    [葡萄] => grape
)

Seperti yang anda lihat, nama utama ialah "epal" dan "ceri" Nilai telah digantikan dengan "oren" dan "anggur" masing-masing, manakala baki nilai utama kekal tidak berubah.

  1. Aplikasi tatasusunan berbilang dimensi

Andaikan kita mempunyai tatasusunan berbilang dimensi, nama kunci ialah nama beberapa bandar dan nilai kunci ialah bersekutu tatasusunan, yang mengandungi penduduk bandar, industri dan maklumat lain. Sekarang, kami ingin menambah dan menolak populasi bandar tertentu dan menyimpan hasilnya kembali ke tatasusunan asal. Ini boleh dicapai menggunakan fungsi array_replace_recursive() Kod adalah seperti berikut:

$cities = array(
    '北京市' => array('人口' => 2154, '产业' => '政治、文化、金融、科技'),
    '上海市' => array('人口' => 2424, '产业' => '金融、贸易、科技、文化'),
    '广州市' => array('人口' => 1500, '产业' => '商贸、制造、物流、金融')
);
$rules = array(
    '北京市' => array('人口' => -100),
    '广州市' => array('人口' => 200)
);
$newCities = array_replace_recursive($cities, $rules);
print_r($newCities);

Laksanakan kod di atas dan anda akan mendapat output berikut:

Array
(
    [北京市] => Array
        (
            [人口] => 2054
            [产业] => 政治、文化、金融、科技
        )

    [上海市] => Array
        (
            [人口] => 2424
            [产业] => 金融、贸易、科技、文化
        )

    [广州市] => Array
        (
            [人口] => 1700
            [产业] => 商贸、制造、物流、金融
        )
)

Seperti yang anda boleh lihat, penduduk Beijing telah berkurangan sebanyak 100 juta, penduduk Kota Guangzhou meningkat sebanyak 2 juta, manakala maklumat Bandar Shanghai kekal tidak berubah.

  1. Permohonan untuk memadamkan elemen yang ditentukan

Andaikan kita mempunyai tatasusunan yang menyimpan nama dan umur beberapa individu. Sekarang, kami mahu memadamkan maklumat untuk orang yang berumur 30 tahun ke atas. Anda boleh menggunakan fungsi array_splice() untuk mencapai ini. boleh lihat, dua orang berumur 30 tahun ke atas adalah Maklumat individu tersebut telah berjaya dipadamkan, manakala maklumat dua individu berumur bawah 30 tahun kekal tidak berubah.

$people = array(
    array('name' => '张三', 'age' => 25),
    array('name' => '李四', 'age' => 35),
    array('name' => '王五', 'age' => 28),
    array('name' => '赵六', 'age' => 42)
);
for ($i = count($people) - 1; $i >= 0; $i--) {
    if ($people[$i]['age'] >= 30) {
        array_splice($people, $i, 1);
    }
}
print_r($people);
3. Ringkasan

Dalam PHP, tatasusunan ialah struktur data yang biasa digunakan Kita boleh menggunakan pelbagai fungsi untuk menambah, memadam, mengubah suai dan menyemaknya. Dalam artikel ini, kami memperkenalkan operasi elemen penggantian tatasusunan PHP, memfokuskan pada penggunaan tiga fungsi array_replace(), array_replace_recursive() dan array_splice(), dan menyediakan contoh kod berdasarkan senario aplikasi tertentu. Saya harap artikel ini dapat membantu pembaca lebih memahami dan menggunakan pengetahuan yang berkaitan tentang tatasusunan PHP.
Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 25
        )

    [1] => Array
        (
            [name] => 王五
            [age] => 28
        )

)

Atas ialah kandungan terperinci Mari kita bincangkan secara mendalam tentang operasi elemen penggantian tatasusunan 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
Bagaimana untuk menggunakan tugas-tugas asynchronous dalam PHP untuk operasi tidak menyekat?Bagaimana untuk menggunakan tugas-tugas asynchronous dalam PHP untuk operasi tidak menyekat?Mar 10, 2025 pm 04:21 PM

Artikel ini meneroka pelaksanaan tugas tak segerak dalam PHP untuk meningkatkan respons aplikasi web. Ia memperincikan kaedah seperti beratur mesej, rangka kerja asynchronous (reactphp, swoole), dan proses latar belakang, menekankan amalan terbaik untuk kecekapan

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?Mar 10, 2025 pm 06:15 PM

Butiran artikel ini melaksanakan beratur mesej dalam PHP menggunakan RabbitMQ dan Redis. Ia membandingkan seni bina mereka (AMQP vs dalam memori), ciri-ciri, dan mekanisme kebolehpercayaan (pengesahan, urus niaga, kegigihan). Amalan terbaik untuk reka bentuk, kesilapan

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?Apakah piawaian pengekodan PHP terkini dan amalan terbaik?Mar 10, 2025 pm 06:16 PM

Artikel ini mengkaji piawaian pengekodan PHP semasa dan amalan terbaik, memberi tumpuan kepada cadangan PSR (PSR-1, PSR-2, PSR-4, PSR-12). Ia menekankan peningkatan kebolehbacaan dan kebolehkerjaan kod melalui gaya yang konsisten, penamaan bermakna, dan EFF

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?Mar 10, 2025 pm 06:12 PM

Artikel ini menerangkan API Refleksi PHP, membolehkan pemeriksaan runtime dan manipulasi kelas, kaedah, dan sifat. IT memperincikan kes penggunaan biasa (penjanaan dokumentasi, ORM, suntikan pergantungan) dan memberi amaran terhadap prestasi overhea

Bagaimana saya bekerja dengan sambungan php dan pecl?Bagaimana saya bekerja dengan sambungan php dan pecl?Mar 10, 2025 pm 06:12 PM

Butiran artikel ini memasang dan menyelesaikan masalah PHP, memberi tumpuan kepada PECL. Ia meliputi langkah pemasangan (mencari, memuat turun/menyusun, membolehkan, memulakan semula pelayan), teknik penyelesaian masalah (memeriksa log, mengesahkan pemasangan,

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi.PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi.Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

Bagaimana cara menggunakan teknik pengoptimuman memori dalam PHP?Bagaimana cara menggunakan teknik pengoptimuman memori dalam PHP?Mar 10, 2025 pm 04:23 PM

Artikel ini menangani pengoptimuman memori PHP. IT memperincikan teknik seperti menggunakan struktur data yang sesuai, mengelakkan penciptaan objek yang tidak perlu, dan menggunakan algoritma yang cekap. Sumber kebocoran memori biasa (mis., Sambungan yang tidak terkawal, global v

Bagaimanakah saya tetap up-to-date dengan ekosistem dan komuniti php?Bagaimanakah saya tetap up-to-date dengan ekosistem dan komuniti php?Mar 10, 2025 pm 06:16 PM

Artikel ini meneroka strategi untuk kekal semasa dalam ekosistem PHP. Ia menekankan penggunaan saluran rasmi, forum komuniti, persidangan, dan sumbangan sumber terbuka. Penulis menyoroti sumber terbaik untuk mempelajari ciri -ciri baru dan a

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.