Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar antara tatasusunan dan rentetan parameter URL dalam php

Bagaimana untuk menukar antara tatasusunan dan rentetan parameter URL dalam php

PHPz
Lepaskan: 2023-04-19 13:54:00
asal
1222 orang telah melayarinya

Dalam pembangunan web, kita selalunya perlu menukar tatasusunan kepada rentetan parameter URL untuk pemindahan data antara halaman atau pemindahan parameter dalam permintaan antara muka API. Dalam PHP, kita boleh menukar antara tatasusunan dan rentetan parameter URL melalui beberapa fungsi terbina dalam. Seterusnya, saya akan memperkenalkan beberapa kaedah biasa untuk mencapai fungsi ini.

1. Tukar tatasusunan kepada rentetan parameter URL

  1. fungsi http_build_query()

Fungsi http_build_query() boleh menukar tatasusunan kepada URL rentetan aksara parameter. Sintaks fungsi ini 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, parameter query_data ialah tatasusunan bersekutu atau tatasusunan indeks berangka yang mengandungi data yang akan ditukar, dan parameter awalan_angka ialah awalan rentetan pilihan yang diperlukan untuk tatasusunan indeks angka Lalai ialah rentetan kosong, parameter arg_separator ialah pemisah parameter pilihan, nilai lalai ialah "&", parameter enc_type ialah format rentetan pilihan, lalai ialah PHP_QUERY_RFC1738.

Kod sampel:

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data);
echo $query_string;
?>
Salin selepas log masuk

Hasil output ialah:

user=admin&email=admin%40example.com&age=18
Salin selepas log masuk
  1. Pemisah parameter tersuai dan awalan

Sampel kod:

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data, 'id_', '|');
echo $query_string;
?>
Salin selepas log masuk

Hasil output ialah:

id_user=admin|id_email=admin%40example.com|id_age=18
Salin selepas log masuk
  1. fungsi urlencode()

fungsi urlencode() boleh mengubah suai aksara parameter URL Mengekod rentetan dan melarikan diri daripada aksara khas. Kod sampel:

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data);
$query_string = urlencode($query_string);
echo $query_string;
?>
Salin selepas log masuk

Hasil output ialah:

user%3Dadmin%26email%3Dadmin%2540example.com%26age%3D18
Salin selepas log masuk

2 Tukar rentetan parameter URL kepada tatasusunan

  1. fungsi parse_str()<.>
Fungsi parse_str() boleh menghuraikan rentetan parameter URL ke dalam tatasusunan bersekutu. Kod contoh:

Salin selepas log masuk
Hasil output ialah:

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
Salin selepas log masuk
Salin selepas log masuk
    Gunakan fungsi explode() untuk menghuraikan secara manual
Jika http_build_query( ) tidak digunakan Fungsi menjana rentetan parameter URL, yang juga boleh dihuraikan secara manual menggunakan fungsi explode(). Kod contoh:

Salin selepas log masuk
Hasil output ialah:

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
Salin selepas log masuk
Salin selepas log masuk
3 Ringkasan

Di atas adalah untuk menukar tatasusunan PHP kepada rentetan parameter URL dan aksara parameter URL. Kaedah untuk menukar rentetan kepada tatasusunan. Dalam pembangunan sebenar, kami boleh menggunakan kaedah ini secara fleksibel untuk merealisasikan pemindahan data dan pemindahan parameter dalam permintaan antara muka API.

Atas ialah kandungan terperinci Bagaimana untuk menukar antara tatasusunan dan rentetan parameter URL dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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