Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar parameter permintaan daripada tatasusunan php

Bagaimana untuk menukar parameter permintaan daripada tatasusunan php

PHPz
Lepaskan: 2023-04-19 09:25:21
asal
687 orang telah melayarinya

Dalam pembangunan PHP, kita selalunya perlu menukar tatasusunan kepada parameter permintaan untuk penghantaran data. Menukar tatasusunan PHP kepada parameter permintaan adalah operasi yang sangat biasa dan operasi yang tidak dapat dielakkan dalam pembangunan PHP. Artikel ini akan memperkenalkan cara menggunakan fungsi dalam PHP untuk menukar tatasusunan kepada parameter permintaan.

1. Gunakan fungsi http_build_query

PHP mempunyai fungsi http_build_query terbina dalam, yang boleh digunakan untuk menukar tatasusunan kepada parameter permintaan. Fungsi http_build_query digunakan untuk menukar tatasusunan kepada rentetan pertanyaan yang dikodkan URL Sintaks asasnya adalah seperti berikut:

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )
Salin selepas log masuk

Antaranya, query_data mewakili tatasusunan yang akan ditukar, dan awalan_angka adalah pilihan. , yang bermaksud memaksa tatasusunan Nama kunci ditukar kepada indeks angka tulen, arg_separator mewakili pemisah antara elemen tatasusunan, enc_type mewakili set aksara yang digunakan untuk pengekodan URL dan lalai ialah PHP_QUERY_RFC1738.

Sebagai contoh, kami mempunyai tatasusunan berikut:

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male'
);
Salin selepas log masuk

Kami boleh menggunakan fungsi http_build_query untuk menukarnya menjadi parameter permintaan dalam format berikut:

name=Tom&age=20&gender=male
Salin selepas log masuk
Salin selepas log masuk

Penggunaan khusus adalah seperti berikut:

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male'
);
$params = http_build_query($data);
echo $params;
Salin selepas log masuk

2 Tatasusunan tulisan tangan untuk meminta fungsi parameter

Jika kita tidak mahu menggunakan fungsi terbina dalam PHP, kita juga boleh menulis fungsi. untuk menukar tatasusunan kepada parameter permintaan. Berikut ialah kod sampel mudah:

function array2param($data)
{
    $params = array();
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $params[] = array2param($value);
        } else {
            $params[] = urlencode($key) . '=' . urlencode($value);
        }
    }
    return implode('&', $params);
}
Salin selepas log masuk

Kita boleh memanggil fungsi ini untuk menukar tatasusunan kepada parameter permintaan Kod sampel adalah seperti berikut:

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male'
);
$params = array2param($data);
echo $params;
Salin selepas log masuk

Hasil output ialah seperti berikut:

name=Tom&age=20&gender=male
Salin selepas log masuk
Salin selepas log masuk

3 Gunakan http_build_query dan tatasusunan rekursif traversal

Menggunakan http_build_query dan tatasusunan rekursif traversal boleh menjadi lebih mudah apabila memproses tatasusunan berbilang dimensi. Berikut ialah kod sampel:

function array2param($data) {
    $queryData = array();       // 将生成的字符串数组
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $queryData[] = http_build_query(array($key => $value));  // 处理多维数组
        } else {
            $queryData[] = urlencode($key) . '=' . urlencode($value);
        }
    }
    return implode('&', $queryData);
}
Salin selepas log masuk

Contoh penggunaan:

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male',
    'contact' => array(
        'email' => 'example@mail.com',
        'phone' => '1234567890'
    )
);
$params = array2param($data);
echo $params;
Salin selepas log masuk

Hasil keluaran:

name=Tom&age=20&gender=male&contact%5Bemail%5D=example%40mail.com&contact%5Bphone%5D=1234567890
Salin selepas log masuk

Ringkasan

Dalam PHP, tambah Menukar tatasusunan kepada parameter permintaan adalah operasi yang sangat biasa. Artikel ini memperkenalkan tiga kaedah pelaksanaan yang berbeza, iaitu menggunakan fungsi http_build_query, tatasusunan tulisan tangan untuk meminta fungsi parameter dan menggunakan http_build_query dan traversal rekursif tatasusunan. Bergantung kepada keperluan dan situasi sebenar, kaedah yang berbeza boleh dipilih untuk mengendalikannya.

Atas ialah kandungan terperinci Bagaimana untuk menukar parameter permintaan daripada tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan