Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mendapatkan pasangan nilai kunci tatasusunan dalam php

Bagaimana untuk mendapatkan pasangan nilai kunci tatasusunan dalam php

PHPz
PHPzasal
2023-04-19 09:15:141616semak imbas

Dengan peningkatan populariti pembangunan web, bahasa PHP telah menjadi salah satu bahasa skrip sebelah pelayan yang paling biasa digunakan. Dalam PHP, tatasusunan ialah jenis data yang sangat biasa yang membolehkan kita menyimpan berbilang pembolehubah dalam pembolehubah yang sama. Tetapi apakah yang kita lakukan apabila kita perlu mendapatkan pasangan nilai kunci dalam tatasusunan? Artikel ini akan memperkenalkan cara mendapatkan pasangan nilai kunci tatasusunan dalam PHP.

1. Gunakan foreach untuk melintasi tatasusunan

Kaedah yang paling mudah ialah menggunakan gelung foreach untuk melintasi tatasusunan dan kemudian dapatkan setiap pasangan nilai kunci. Kod sampel adalah seperti berikut:

$array = array('foo' => 'bar', 'baz' => 'qux');

foreach ($array as $key => $value) {
    echo "Key: $key; Value: $value\n";
}

Kod di atas akan mengeluarkan keputusan berikut:

Key: foo; Value: bar
Key: baz; Value: qux

Dalam contoh ini, kami menyimpan tatasusunan bersekutu yang mengandungi dua pasangan nilai kunci dalam pembolehubah $ dalam tatasusunan. Kami kemudian menggunakan gelung foreach untuk lelaran melalui tatasusunan dan mendapatkan setiap pasangan nilai kunci melalui pembolehubah $key dan $value. Pada setiap lelaran, keluarkan kunci dan nilai pasangan nilai kunci.

2. Gunakan fungsi array_keys dan array_values ​​

Selain menggunakan gelung foreach untuk melintasi tatasusunan, anda juga boleh menggunakan fungsi terbina dalam PHP array_keys dan array_values ​​​​untuk dapatkan kunci dan nilai tatasusunan masing-masing. Kod sampel adalah seperti berikut:

$array = array('foo' => 'bar', 'baz' => 'qux');

$keys = array_keys($array);
$values = array_values($array);

print_r($keys);
print_r($values);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(
    [0] => foo
    [1] => baz
)
Array
(
    [0] => bar
    [1] => qux
)

Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan bersekutu $array yang mengandungi dua kunci- pasangan nilai. Kami kemudian menggunakan fungsi array_keys untuk mendapatkan kunci tatasusunan dan menyimpannya dalam pembolehubah $keys. Begitu juga, kami menggunakan fungsi array_values ​​untuk mendapatkan nilai array dan menyimpannya dalam pembolehubah $values. Akhir sekali, gunakan fungsi print_r untuk mengeluarkan kandungan $keys dan $values ​​​​arrays masing-masing.

3. Gunakan fungsi array_map

Cara lain untuk mendapatkan pasangan nilai kunci tatasusunan adalah dengan menggunakan fungsi array_map. Fungsi ini akan menerima fungsi panggil balik dan satu atau lebih tatasusunan sebagai parameter dan menggunakan fungsi panggil balik pada elemen yang sepadan dalam setiap tatasusunan. Berikut ialah kod sampel yang menggunakan fungsi array_map untuk mendapatkan pasangan nilai kunci tatasusunan:

$array = array('foo' => 'bar', 'baz' => 'qux');

$keyValuePairs = array_map(function($key, $value){
    return array('key' => $key, 'value' => $value);
}, array_keys($array), array_values($array));

print_r($keyValuePairs);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(
    [0] => Array
        (
            [key] => foo
            [value] => bar
        )

    [1] => Array
        (
            [key] => baz
            [value] => qux
        )

)

Dalam contoh ini, kami gunakan array_keys dan array_values ​​Fungsi mendapatkan kunci dan nilai tatasusunan dan menghantarnya masing-masing sebagai argumen kepada fungsi array_map. Kemudian, kami mentakrifkan fungsi panggil balik yang menerima dua parameter $key dan $value dan mengembalikan tatasusunan bersekutu yang mengandungi kekunci 'key' dan 'value'. Akhir sekali, kami menggunakan fungsi print_r untuk mengeluarkan kandungan tatasusunan $keyValuePairs.

4. Gunakan fungsi array_walk

Serupa dengan fungsi array_map, fungsi array_walk juga boleh digunakan untuk mendapatkan pasangan nilai kunci tatasusunan. Fungsi ini akan menerima fungsi panggil balik dan tatasusunan sebagai parameter dan menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan. Berikut ialah contoh kod yang menggunakan fungsi array_walk untuk mendapatkan pasangan nilai kunci tatasusunan:

$array = array('foo' => 'bar', 'baz' => 'qux');

$keyValuePairs = array();
array_walk($array, function($value, $key) use (&$keyValuePairs){
    $keyValuePairs[] = array('key' => $key, 'value' => $value);
});

print_r($keyValuePairs);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(
    [0] => Array
        (
            [key] => foo
            [value] => bar
        )

    [1] => Array
        (
            [key] => baz
            [value] => qux
        )

)

Dalam contoh ini, kami mentakrifkan Array $keyValuePairs kosong, dan menggunakan fungsi array_walk untuk melintasi tatasusunan. Fungsi panggil balik menerima dua parameter $value dan $key, dan menggunakan kata kunci penggunaan untuk merujuk pembolehubah luaran $keyValuePairs. Pada setiap lelaran, tambahkan tatasusunan bersekutu yang mengandungi kekunci 'kunci' dan 'nilai' pada tatasusunan $keyValuePairs. Akhir sekali, gunakan fungsi print_r untuk mengeluarkan kandungan tatasusunan $keyValuePairs.

Ringkasan

Artikel ini memperkenalkan empat kaedah untuk mendapatkan pasangan nilai kunci tatasusunan dalam PHP. Menggunakan gelung foreach untuk lelaran pada tatasusunan ialah cara yang paling mudah dan biasa. Jika anda hanya perlu mendapatkan kunci atau nilai tatasusunan, anda boleh menggunakan fungsi array_keys atau array_values. Fungsi array_map dan array_walk boleh digunakan untuk mendapatkan tatasusunan yang mengandungi pasangan nilai kunci, tetapi ia memerlukan lebih banyak kod untuk dilaksanakan. Tidak kira kaedah yang anda pilih, petua ini sangat berguna dan boleh membantu anda memanipulasi tatasusunan dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan pasangan nilai kunci tatasusunan dalam 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