Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Isih Tersuai Kekunci Tatasusunan Bersekutu PHP?

Bagaimanakah Saya Boleh Isih Tersuai Kekunci Tatasusunan Bersekutu PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-21 03:56:10709semak imbas

How Can I Custom Sort the Keys of a PHP Associative Array?

Pengisihan Kunci Tersuai Susunan Bersekutu Bukan Hierarki

Dalam PHP, tidak mungkin untuk mengisih tatasusunan bersekutu mengikut abjad atau berangka mengikut lalai. Walau bagaimanapun, adalah mungkin untuk membuat susunan pengisihan tersuai berdasarkan tatasusunan lain.

Fungsi untuk Melaksanakan Pengisihan Kunci Tersuai

Untuk mencipta fungsi yang melaksanakan kunci tersuai- pengisihan, anda boleh menggunakan fungsi array_merge() atau array_replace(). Kedua-dua fungsi ini mengambil dua tatasusunan sebagai input: tatasusunan pertama menentukan susunan kekunci yang diingini yang dikehendaki, manakala tatasusunan kedua mengandungi data sebenar yang anda mahu isih.

Kod di bawah menunjukkan cara melaksanakan fungsi ini:

function sortArrayByArray($inputArray, $sortKeysArray) {
  return array_merge(array_flip($sortKeysArray), $inputArray);
}

Contoh Penggunaan

Pertimbangkan contoh berikut tatasusunan:

$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';

Untuk mengisih tatasusunan ini berdasarkan susunan kunci yang dinyatakan dalam $sortKeysArray, anda boleh menggunakan fungsi sortArrayByArray() seperti berikut:

$sortKeysArray = ['name', 'dob', 'address'];
$properOrderedArray = sortArrayByArray($customer, $sortKeysArray);

$properOrderedArray yang terhasil adalah seperti berikut:

[
  'name' => 'Tim',
  'dob' => '12/08/1986',
  'address' => '123 fake st',
  'dontSortMe' => 'this value doesnt need to be sorted'
]

Perhatikan bahawa kekunci diisih mengikut kepada $sortKeysArray yang ditentukan, dan nilainya dikekalkan. Kekunci tidak boleh diisi ("dontSortMe") dilampirkan pada penghujung tatasusunan.

Dengan menggunakan pendekatan ini, anda boleh mencapai pengisihan kunci tersuai untuk tatasusunan bersekutu bukan hierarki dalam PHP, memastikan bahawa kunci tatasusunan adalah dipesan dengan cara tertentu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Tersuai Kekunci Tatasusunan Bersekutu 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