Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar kunci tatasusunan dalam php
Array ialah salah satu jenis data yang paling berguna dan biasa digunakan dalam PHP. Tatasusunan memainkan peranan penting apabila berurusan dengan data berbilang dimensi dan apabila menyimpan dan mengakses data dalam ingatan. Dalam sesetengah kes, kita perlu menukar kekunci tatasusunan untuk akses yang lebih mudah kepada nilai tertentu, yang merupakan keperluan biasa dalam operasi tatasusunan.
Artikel ini akan menerangkan cara menukar kekunci tatasusunan menggunakan beberapa fungsi terbina dalam dalam PHP. Kami akan meneroka tiga kes penggunaan biasa:
Dalam PHP, kita boleh menggunakan fungsi array_keys
untuk menjana nama kunci bagi senarai tatasusunan, dan kemudian gunakan fungsi array_combine
untuk memasangkan senarai kunci baharu dengan nilai tatasusunan asal, sekali gus menukar kekunci tatasusunan.
Berikut ialah contoh:
$oldArray = array( 'a' => 'apple', 'b' => 'banana', 'c' => 'cherry' ); $newKeys = array( '1' =>'apple', '2' => 'banana', '3' => 'cherry' ); $newArray = array_combine($newKeys, $oldArray); print_r($newArray);
Output:
Array ( [apple] => apple [banana] => banana [cherry] => cherry )
Kita boleh Gunakan fungsi array_map
, digabungkan dengan fungsi tanpa nama, untuk menukar nilai kunci tatasusunan. Fungsi tanpa nama menghantar setiap nilai sebagai parameter dan mengembalikan nilai baharu, kemudian menyimpan pasangan nilai kunci baharu ini dalam tatasusunan baharu.
Berikut ialah contoh:
$oldArray = array( 'a' => 'apple', 'b' => 'banana', 'c' => 'cherry' ); $newArray = array_map(function($value) { return strtoupper($value); }, $oldArray); print_r($newArray);
Output:
Array ( [a] => APPLE [b] => BANANA [c] => CHERRY )
Dalam contoh di atas, kami menggunakan fungsi array_map
untuk menghantar setiap nilai kepada Anonymous fungsi yang menukar rentetan kepada huruf besar dan menyimpan pasangan nilai kunci baharu dalam tatasusunan baharu.
Jika anda mempunyai tatasusunan berbilang dimensi, anda boleh menggunakan rekursi untuk menukar nama kunci. Kita boleh menukar tatasusunan berbilang dimensi dengan mudah dengan mengulangi setiap nilai dan menukar nama kuncinya.
Berikut ialah contoh:
$array = array( "a" => array( "b" => array( "c" => "apple" ) ), "d" => array( "e" => array( "f" => "banana" ) ), "g" => array( "h" => "cherry" ) ); function changeKeys(array $array, array $newKeys): array { $newArray = array(); foreach ($array as $key => $value) { if (array_key_exists($key, $newKeys)) { $key = $newKeys[$key]; } if (is_array($value)) { $value = changeKeys($value, $newKeys); } $newArray[$key] = $value; } return $newArray; } $newKeys = array( 'a' => 'apple', 'd' => 'banana', 'g' => 'cherry' ); $newArray = changeKeys($array, $newKeys); print_r($newArray);
Output:
Array ( [apple] => Array ( [b] => Array ( [c] => apple ) ) [banana] => Array ( [e] => Array ( [f] => banana ) ) [cherry] => Array ( [h] => cherry ) )
Dalam contoh di atas, kami mengulangi tatasusunan secara rekursif dan mencari item yang sepadan untuk yang baharu nama kunci, Kemudian gunakan ini sebagai nama kunci baharu. Jika tatasusunan bersarang ditemui, pengubahsuaian diteruskan semasa proses rekursif.
Ringkasan
Dalam PHP, menukar nama kunci dan nilai kunci tatasusunan ialah operasi yang sangat berguna, terutamanya apabila berurusan dengan data berbilang dimensi. Artikel ini memperkenalkan tiga kaedah biasa: menggunakan fungsi array_combine
untuk menukar nama kunci tatasusunan, menggunakan fungsi array_map
untuk menukar nilai kunci tatasusunan dan menukar nama kunci tatasusunan berbilang dimensi secara rekursif. Semoga artikel ini bermanfaat kepada anda.
Atas ialah kandungan terperinci Bagaimana untuk menukar kunci tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!