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

Bagaimana untuk menukar antara tatasusunan dan rentetan parameter URL dalam php

PHPz
PHPzasal
2023-04-19 11:37:101020semak imbas

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 )

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;
?>

Hasil output ialah:

user=admin&email=admin%40example.com&age=18
  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;
?>

Hasil output ialah:

id_user=admin|id_email=admin%40example.com|id_age=18
  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;
?>

Hasil output ialah:

user%3Dadmin%26email%3Dadmin%2540example.com%26age%3D18

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:

Hasil output ialah:

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
    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:

Hasil output ialah:

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
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:
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