cari
Rumahpembangunan bahagian belakangtutorial phpphp使用http_build_query,parse_url,parse_str创建与解析url

php使用http_build_query,parse_url,parse_str创建与解析url,有需要的朋友可以参考下。


1.http_build_query

http_build_query 可以创建urlencode之后的请求字符串。

  1. string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )
复制代码



参数:
query_data
可以是数组或包含属性的对象。

一个query_data数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。

如果query_data是一个对象,只有public属性才会加入结果。

numeric_prefix
如果在基础数组中使用了数字下标同时给出了该参数,此参数值将会作为基础数组中的数字下标元素的前缀。

这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名。

arg_separator
除非指定并使用了这个参数,否则会用 arg_separator.output来分隔参数(php.ini中有此参数,默认是”&”)。

enc_type
默认使用 PHP_QUERY_RFC1738。

如果 enc_type 是 PHP_QUERY_RFC1738,则编码将会以 ? RFC 1738 标准和 application/x-www-form-urlencoded 媒体类型进行编码,空格会被编码成加号(+)。

如果 enc_type 是 PHP_QUERY_RFC3986,将根据 ? RFC 3986 编码,空格会被百分号编码(%20)。


例子1:只使用query_data参数

  1. $data = array(
  2. 'name' => 'fdipzone',
  3. 'gender' => 'male',
  4. 'profession' => 'programmer',
  5. 'explain' => 'a new programmer'
  6. );
  7. echo http_build_query($data);
  8. ?>
复制代码

输出:
name=fdipzone&gender=male&profession=programmer&explain=a+new+programmer



例子2: query_data使用一维下标数组,指定
numeric_prefix=info_,arg_separator=#,enc_type=PHP_QUERY_RFC3986

  1. $data = array('fdipzone','male','programmer','a new programmer');
  2. echo http_build_query($data, 'info_', '#', PHP_QUERY_RFC3986);
  3. ?>
复制代码

输出:

  1. info_0=fdipzone#info_1=male#info_2=programmer#info_3=a%20new%20programmer
复制代码
2.parse_url

parse_url 解析url,返回其组成部分

  1. mixed parse_url ( string $url [, int $component = -1 ] )
复制代码



参数:
url
要解析的url,无效字符将使用_来替换

component
PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string。 (除了指定为 PHP_URL_PORT 后,将返回一个 integer 的值)。

返回值:
对严重不合格的 URL,parse_url() 可能会返回 FALSE。

返回的数据一般包含以下几种
scheme(如http),host,port,user,pass,path,query(在问号?之后),fragment(在散列符号#之后)


例子:

  1. $url = 'http://fdipzone:123456@www.fdipzone.com:80/test/index.php?id=1#tag';
  2. print_r(parse_url($url));
  3. echo parse_url($url, PHP_URL_SCHEME).PHP_EOL;
  4. echo parse_url($url, PHP_URL_HOST).PHP_EOL;
  5. echo parse_url($url, PHP_URL_PORT).PHP_EOL;
  6. echo parse_url($url, PHP_URL_USER).PHP_EOL;
  7. echo parse_url($url, PHP_URL_PASS).PHP_EOL;
  8. echo parse_url($url, PHP_URL_PATH).PHP_EOL;
  9. echo parse_url($url, PHP_URL_QUERY).PHP_EOL;
  10. echo parse_url($url, PHP_URL_FRAGMENT).PHP_EOL;
  11. ?>
复制代码

输出:

  1. Array
  2. (
  3. [scheme] => http
  4. [host] => www.fdipzone.com
  5. [port] => 80
  6. [user] => fdipzone
  7. [pass] => 123456
  8. [path] => /test/index.php
  9. [query] => id=1
  10. [fragment] => tag
  11. )
  12. http
  13. www.fdipzone.com
  14. 80
  15. fdipzone
  16. 123456
  17. /test/index.php
  18. id=1
  19. tag
复制代码
3.parse_str

parse_str 将字符串解析成多个变量

  1. void parse_str ( string $str [, array &$arr ] )
复制代码

如果 str 是 URL 传递入的查询字符串(query string),则将它解析为变量并设置到当前作用域。


参数:
str
输入的字符串

arr
如果设置了第二个变量arr,变量将会以数组元素的形式存入到这个数组,作为替代。


例子1:解析到当前作用域

  1. $str = 'name=fdipzone&gender=male&profession=programer&explain=a new programmer';
  2. parse_str($str);
  3. echo $name.PHP_EOL;
  4. echo $gender.PHP_EOL;
  5. echo $profession.PHP_EOL;
  6. echo $explain.PHP_EOL;
  7. ?>
复制代码

输出:

  1. fdipzone
  2. male
  3. programer
  4. a new programmer
复制代码



例子2:结果保存到arr数组

  1. $str = 'name=fdipzone&gender=male&profession=programer&explain=a new programmer';
  2. parse_str($str, $arr);
  3. print_r($arr);
  4. ?>
复制代码

输出:

  1. Array
  2. (
  3. [name] => fdipzone
  4. [gender] => male
  5. [profession] => programer
  6. [explain] => a new programmer
  7. )
复制代码
4.获取url的query参数并解析

首先使用parse_url获取query,然后在使用parse_str解析参数

  1. $url = 'http://www.fdipzone.com/test/index.php?name=fdipzone&gender=male&profession=programmer&explain=a new programmer';
  2. $query = parse_url($url, PHP_URL_QUERY);
  3. parse_str($query, $data);
  4. print_r($data);
  5. ?>
复制代码

输出:

  1. Array
  2. (
  3. [name] => fdipzone
  4. [gender] => male
  5. [profession] => programmer
  6. [explain] => a new programmer
  7. )
复制代码
php, http


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
Status Semasa PHP: Lihat trend pembangunan webStatus Semasa PHP: Lihat trend pembangunan webApr 13, 2025 am 12:20 AM

PHP tetap penting dalam pembangunan web moden, terutamanya dalam pengurusan kandungan dan platform e-dagang. 1) PHP mempunyai ekosistem yang kaya dan sokongan rangka kerja yang kuat, seperti Laravel dan Symfony. 2) Pengoptimuman prestasi boleh dicapai melalui OPCACHE dan NGINX. 3) Php8.0 memperkenalkan pengkompil JIT untuk meningkatkan prestasi. 4) Aplikasi awan asli dikerahkan melalui Docker dan Kubernet untuk meningkatkan fleksibiliti dan skalabiliti.

PHP vs Bahasa Lain: PerbandinganPHP vs Bahasa Lain: PerbandinganApr 13, 2025 am 12:19 AM

PHP sesuai untuk pembangunan web, terutamanya dalam pembangunan pesat dan memproses kandungan dinamik, tetapi tidak baik pada sains data dan aplikasi peringkat perusahaan. Berbanding dengan Python, PHP mempunyai lebih banyak kelebihan dalam pembangunan web, tetapi tidak sebaik python dalam bidang sains data; Berbanding dengan Java, PHP melakukan lebih buruk dalam aplikasi peringkat perusahaan, tetapi lebih fleksibel dalam pembangunan web; Berbanding dengan JavaScript, PHP lebih ringkas dalam pembangunan back-end, tetapi tidak sebaik JavaScript dalam pembangunan front-end.

PHP vs Python: Ciri dan Fungsi TerasPHP vs Python: Ciri dan Fungsi TerasApr 13, 2025 am 12:16 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri dan sesuai untuk senario yang berbeza. 1.PHP sesuai untuk pembangunan web dan menyediakan pelayan web terbina dalam dan perpustakaan fungsi yang kaya. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan standard yang kuat. Apabila memilih, ia harus diputuskan berdasarkan keperluan projek.

PHP: Bahasa utama untuk pembangunan webPHP: Bahasa utama untuk pembangunan webApr 13, 2025 am 12:08 AM

PHP adalah bahasa skrip yang digunakan secara meluas di sisi pelayan, terutamanya sesuai untuk pembangunan web. 1.PHP boleh membenamkan HTML, memproses permintaan dan respons HTTP, dan menyokong pelbagai pangkalan data. 2.PHP digunakan untuk menjana kandungan web dinamik, data borang proses, pangkalan data akses, dan lain -lain, dengan sokongan komuniti yang kuat dan sumber sumber terbuka. 3. PHP adalah bahasa yang ditafsirkan, dan proses pelaksanaan termasuk analisis leksikal, analisis tatabahasa, penyusunan dan pelaksanaan. 4.Php boleh digabungkan dengan MySQL untuk aplikasi lanjutan seperti sistem pendaftaran pengguna. 5. Apabila debugging php, anda boleh menggunakan fungsi seperti error_reporting () dan var_dump (). 6. Mengoptimumkan kod PHP untuk menggunakan mekanisme caching, mengoptimumkan pertanyaan pangkalan data dan menggunakan fungsi terbina dalam. 7

PHP: asas banyak laman webPHP: asas banyak laman webApr 13, 2025 am 12:07 AM

Sebab mengapa PHP adalah timbunan teknologi pilihan untuk banyak laman web termasuk kemudahan penggunaannya, sokongan komuniti yang kuat, dan penggunaan yang meluas. 1) Mudah dipelajari dan digunakan, sesuai untuk pemula. 2) Mempunyai komuniti pemaju yang besar dan sumber yang kaya. 3) Digunakan secara meluas dalam platform WordPress, Drupal dan lain -lain. 4) Mengintegrasikan dengan ketat dengan pelayan web untuk memudahkan penggunaan pembangunan.

Di luar gembar -gembur: Menilai peranan PHP hari iniDi luar gembar -gembur: Menilai peranan PHP hari iniApr 12, 2025 am 12:17 AM

PHP kekal sebagai alat yang kuat dan digunakan secara meluas dalam pengaturcaraan moden, terutamanya dalam bidang pembangunan web. 1) PHP mudah digunakan dan diintegrasikan dengan lancar dengan pangkalan data, dan merupakan pilihan pertama bagi banyak pemaju. 2) Ia menyokong penjanaan kandungan dinamik dan pengaturcaraan berorientasikan objek, sesuai untuk membuat dan mengekalkan laman web dengan cepat. 3) Prestasi PHP dapat ditingkatkan dengan caching dan mengoptimumkan pertanyaan pangkalan data, dan komuniti yang luas dan ekosistem yang kaya menjadikannya masih penting dalam timbunan teknologi hari ini.

Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apr 12, 2025 am 12:13 AM

Dalam PHP, rujukan lemah dilaksanakan melalui kelas lemah dan tidak akan menghalang pemungut sampah daripada menebus objek. Rujukan lemah sesuai untuk senario seperti sistem caching dan pendengar acara. Harus diingat bahawa ia tidak dapat menjamin kelangsungan hidup objek dan pengumpulan sampah mungkin ditangguhkan.

Terangkan kaedah sihir __invoke dalam PHP.Terangkan kaedah sihir __invoke dalam PHP.Apr 12, 2025 am 12:07 AM

Kaedah \ _ \ _ membolehkan objek dipanggil seperti fungsi. 1. Tentukan kaedah \ _ \ _ supaya objek boleh dipanggil. 2. Apabila menggunakan sintaks $ OBJ (...), PHP akan melaksanakan kaedah \ _ \ _ invoke. 3. Sesuai untuk senario seperti pembalakan dan kalkulator, meningkatkan fleksibiliti kod dan kebolehbacaan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.