Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar nilai utama tatasusunan dua dimensi php

Bagaimana untuk menukar nilai utama tatasusunan dua dimensi php

PHPz
PHPzasal
2023-04-24 17:12:24734semak imbas

Array dalam PHP ialah jenis data yang sangat berkuasa yang boleh digunakan untuk menyimpan berbilang elemen data. Dalam pembangunan sebenar, kita sering perlu beroperasi pada tatasusunan, salah satunya ialah menukar nilai utama tatasusunan. Artikel ini akan memperkenalkan cara menukar nilai utama tatasusunan dua dimensi dalam PHP.

Pertama, mari kita fahami konsep asas tatasusunan dua dimensi dalam PHP. Apa yang dipanggil tatasusunan dua dimensi bermaksud bahawa unsur tatasusunan ialah tatasusunan. Sebagai contoh, tatasusunan dua dimensi berikut mempunyai 3 elemen, setiap elemen ialah tatasusunan satu dimensi yang mengandungi 3 elemen:

$arr = array(
  array("apple","banana","cherry"),
  array("dog","cat","bird"),
  array("red","green","blue")
);

Dalam PHP, kita boleh mengaksesnya dalam bentuk pasangan nilai kunci Elemen dalam tatasusunan dua dimensi. Contohnya, untuk mengakses elemen pertama dalam tatasusunan dua dimensi di atas (iaitu tatasusunan satu dimensi yang mengandungi tiga elemen "epal", "pisang" dan "ceri"), anda boleh menggunakan kod berikut:

echo $arr[0][0];  // 输出 apple
echo $arr[0][1];  // 输出 banana
echo $arr[0][2];  // 输出 cherry

Seterusnya, mari kita lihat cara menukar nilai kunci tatasusunan dua dimensi dalam php. Kadangkala, kita perlu menggantikan nilai utama tatasusunan dengan nilai lain Kita boleh menggunakan fungsi array_map() untuk mencapai ini:

$arr = array(
  array("name"=>"apple","price"=>1.5),
  array("name"=>"banana","price"=>2),
  array("name"=>"cherry","price"=>3)
);

function changeKey($item){
  $item["ID"] = $item["name"];  // 添加新的键值对
  unset($item["name"]);        // 删除旧的键值对
  return $item;
}

$arr = array_map("changeKey",$arr);

print_r($arr);

Dalam kod di atas, kami menggunakan array_map() fungsi, yang akan memanggil semula Fungsi (changeKey() dalam kes ini) digunakan pada setiap elemen dalam tatasusunan dan mengembalikan tatasusunan baharu. Dalam fungsi changeKey(), kami menambah pasangan nilai kunci baharu "ID" dan memadamkan pasangan nilai kunci "nama", dengan itu menggantikan nilai kunci dalam tatasusunan dua dimensi daripada "nama" kepada Kesan "ID".

Kaedah lain ialah menggunakan gelung foreach untuk melintasi tatasusunan dua dimensi untuk mengubah suai pasangan nilai kunci. Contohnya, kod berikut menggantikan nilai kunci "nama" dalam tatasusunan asal dengan "ID":

$arr = array(
  array("name"=>"apple","price"=>1.5),
  array("name"=>"banana","price"=>2),
  array("name"=>"cherry","price"=>3)
);

foreach ($arr as &$item){
  $item["ID"] = $item["name"];  // 添加新的键值对
  unset($item["name"]);        // 删除旧的键值对
}

print_r($arr);

Dalam kod di atas, kami menggunakan gelung foreach untuk melintasi tatasusunan dua dimensi unsur. Oleh kerana kami ingin mengubah suai pasangan nilai kunci setiap elemen, dalam gelung foreach, kami menetapkan rujukan elemen kepada pembolehubah $item. Dalam badan gelung, dengan mengendalikan $item, anda boleh mengubah suai pasangan nilai kunci dalam tatasusunan asal.

Ringkasnya, terdapat dua cara biasa untuk mengubah suai nilai utama tatasusunan dua dimensi dalam PHP: menggunakan fungsi array_map() dan menggunakan gelung foreach. Kaedah yang mana untuk digunakan bergantung pada senario tertentu dan keperluan pembangunan. Apabila mengendalikan tatasusunan, kita juga perlu memberi perhatian untuk memastikan kod boleh dibaca dan diselenggara, dan elakkan menggunakan struktur kod yang kompleks atau sukar difahami sebanyak mungkin.

Atas ialah kandungan terperinci Bagaimana untuk menukar nilai utama tatasusunan dua dimensi 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