Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menggelung melalui kekunci tatasusunan dalam php

Bagaimana untuk menggelung melalui kekunci tatasusunan dalam php

PHPz
PHPzasal
2023-04-19 11:39:30596semak imbas

Dalam PHP, kadangkala kita perlu mengalih keluar kunci semua elemen dalam tatasusunan dan hanya mengekalkan nilainya. Operasi ini biasanya perlu dilakukan dalam gelung, jadi kita perlu tahu cara menggunakan gelung untuk mengalih keluar kunci daripada tatasusunan. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah untuk mencapai operasi ini, supaya anda boleh berurusan dengan tatasusunan dengan mudah.

Kaedah 1: Gunakan gelung foreach

Kaedah paling asas ialah menggunakan gelung foreach untuk melintasi tatasusunan dan menyimpan nilai setiap elemen ke dalam tatasusunan baharu (iaitu keluarkan kekunci) . Berikut ialah kod demo:

// 原始数组
$data = array('a' => 1, 'b' => 2, 'c' => 3);

// 新数组
$new_data = array();

// foreach循环
foreach($data as $value)
{
    // 将元素的值存储到新数组中
    $new_data[] = $value;
}

// 输出新数组
print_r($new_data);

Ini akan menghasilkan keputusan berikut:

Array ( [0] => 1 [1] => 2 [2] => 3 )

Kaedah 2: Gunakan fungsi array_values ​​

PHP menyediakan fungsi dipanggil array_values ​​Fungsi yang menyimpan nilai semua elemen tatasusunan ke dalam tatasusunan baharu dan mewakilinya dengan kekunci angka berturut-turut. Fungsi ini sangat sesuai untuk keperluan kita. Berikut ialah kod demo:

// 原始数组
$data = array('a' => 1, 'b' => 2, 'c' => 3);

// 新数组
$new_data = array_values($data);

// 输出新数组
print_r($new_data);

Ini akan menghasilkan keputusan berikut:

Array ( [0] => 1 [1] => 2 [2] => 3 )

Kaedah 3: Gunakan fungsi array_map

PHP juga menyediakan fungsi yang dipanggil array_map Fungsi yang menukar setiap elemen dalam tatasusunan dan menyimpan hasilnya dalam tatasusunan baharu. Kita boleh menggunakan fungsi ini untuk mengalih keluar kunci daripada tatasusunan. Berikut ialah kod demo:

// 原始数组
$data = array('a' => 1, 'b' => 2, 'c' => 3);

// array_map函数
$new_data = array_map(function($value) { return $value; }, $data);

// 输出新数组
print_r($new_data);

Ini akan mengeluarkan hasil berikut:

Array ( [a] => 1 [b] => 2 [c] => 3 )

Fungsi peta_susun bagi kod di atas hanya mengembalikan nilai setiap elemen itu sendiri. Ini boleh dicapai dengan menggunakan fungsi tanpa nama dan menghantarnya sebagai hujah pertama kepada fungsi array_map. Parameter kedua fungsi array_map ialah tatasusunan asal. Ini akan memanggil fungsi tanpa nama sekali untuk setiap elemen dalam tatasusunan asal dan menyimpan hasilnya dalam tatasusunan baharu.

Kaedah 4: Gunakan fungsi array_column

Fungsi array_column PHP boleh mendapatkan nilai lajur yang ditentukan daripada tatasusunan berbilang dimensi. Dalam tatasusunan satu dimensi, fungsi ini boleh digunakan untuk mengalih keluar kekunci dan mengembalikan semua nilai. Berikut ialah kod demo:

// 原始数组
$data = array('a' => 1, 'b' => 2, 'c' => 3);

// array_column函数
$new_data = array_column(array($data), 0);

// 输出新数组
print_r($new_data);

Ini akan mengeluarkan hasil berikut:

Array ( [0] => 1 [1] => 2 [2] => 3 )

Dalam kod di atas, kita mula-mula membalut tatasusunan asal ke dalam tatasusunan berbilang dimensi, kerana fungsi array_column memerlukan tatasusunan Multidimensi sebagai input. Kemudian, kami menentukan 0 sebagai indeks lajur untuk mewakili lajur nilai dalam tatasusunan. Ini akan mengembalikan tatasusunan baharu yang terdiri daripada semua nilai.

Kesimpulan

Dalam PHP, kami mempunyai banyak cara untuk mengalih keluar kunci tatasusunan dan hanya menyimpan nilainya. Kita boleh menggunakan gelung foreach, fungsi array_values, fungsi array_map atau fungsi array_column untuk mencapai operasi ini. Kaedah yang hendak dipilih bergantung pada situasi tertentu, iaitu jenis data input, pilihan gaya pengekodan, dsb. Semoga teknik yang diterangkan dalam artikel ini akan membantu anda mencapai apa yang anda ingin capai.

Atas ialah kandungan terperinci Bagaimana untuk menggelung melalui kekunci 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