目次
1.http_build_query
2.parse_url
void parse_str ( string $str [, array &$arr ] )
ログイン後にコピー
" >parse_str は次のようになります。文字列は複数の変数に解析されます。
void parse_str ( string $str [, array &$arr ] )
ログイン後にコピー
ホームページ バックエンド開発 PHPチュートリアル http_build_query、parse_url、parse_str を使用して、php を通じて URL を作成および解析する方法

http_build_query、parse_url、parse_str を使用して、php を通じて URL を作成および解析する方法

Jun 09, 2018 am 10:07 AM
php

1.http_build_query

http_build_query は、urlencode の後にリクエスト文字列を作成できます。

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )
ログイン後にコピー

パラメータ:
query_data
配列または属性を含むオブジェクトを指定できます。

query_data 配列は、単純な 1 次元構造にすることも、配列で構成される配列 (他の配列を含むこともできる) にすることもできます。

query_data がオブジェクトの場合、パブリック属性のみが結果に追加されます。

numeric_prefix
基になる配列で数値添字が使用され、このパラメーターが指定された場合、パラメーター値は基になる配列の数値として使用されます。 array 添字付き要素の接頭辞。

これは、後でデータをデコードするときに、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 に従ってエンコードされ、スペースはパーセント エンコードされます ( )。
例 1: query_data パラメーターのみを使用します

<?php$data = array(    &#39;name&#39; => &#39;fdipzone&#39;,    &#39;gender&#39; => &#39;male&#39;,    &#39;profession&#39; => &#39;programmer&#39;,    &#39;explain&#39; => &#39;a new programmer&#39;);echo http_build_query($data);?>
ログイン後にコピー

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


##例 2: query_data は 1 次元の添え字配列を使用し、numeric_prefix=info_,arg_separator=#,enc_type=PHP_QUERY_RFC3986

<?php$data = array(&#39;fdipzone&#39;,&#39;male&#39;,&#39;programmer&#39;,&#39;a new programmer&#39;);echo http_build_query($data, &#39;info_&#39;, &#39;#&#39;, PHP_QUERY_RFC3986);?>
ログイン後にコピー

を指定します。

Output:

info_0=fdipzone#info_1=male#info_2=programmer#info_3=a%20new%20programmer
ログイン後にコピー

2.parse_url

parse_url は URL を解析し、そのコンポーネントを返します

mixed parse_url ( string $url [, int $component = -1 ] )
ログイン後にコピー

パラメータ:
url 解析する URL。無効な文字は _

##component# に置き換えられます。 ## PHP_URL_PATH、PHP_URL_QUERY、または PHP_URL_FRAGMENT のいずれかを使用して、URL の指定された部分の文字列を取得します。 (PHP_URL_PORT として指定された場合を除き、整数値が返されます)。
戻り値:

著しく修飾されていない URL の場合、parse_url() は FALSE を返す場合があります。 返されるデータには、通常、次の
スキーム (http など)、ホスト、ポート、ユーザー、パス、パス、クエリ (疑問符の後?)、フラグメント (ハッシュ記号 # の後) が含まれます。

例:

<?php$url = &#39;http://fdipzone:123456@www.fdipzone.com:80/test/index.php?id=1#tag&#39;;
print_r(parse_url($url));echo parse_url($url, PHP_URL_SCHEME).PHP_EOL;echo parse_url($url, PHP_URL_HOST).PHP_EOL;echo parse_url($url, PHP_URL_PORT).PHP_EOL;echo parse_url($url, PHP_URL_USER).PHP_EOL;echo parse_url($url, PHP_URL_PASS).PHP_EOL;echo parse_url($url, PHP_URL_PATH).PHP_EOL;echo parse_url($url, PHP_URL_QUERY).PHP_EOL;echo parse_url($url, PHP_URL_FRAGMENT).PHP_EOL;?>
ログイン後にコピー
出力:

Array(
    [scheme] => http
    [host] => www.fdipzone.com
    [port] => 80
    [user] => fdipzone
    [pass] => 123456
    [path] => /test/index.php
    [query] => id=1
    [fragment] => tag
)
http
www.fdipzone.com80fdipzone123456/test/index.php
id=1tag
ログイン後にコピー
3.parse_str

parse_str は次のようになります。文字列は複数の変数に解析されます。
void parse_str ( string $str [, array &$arr ] )
ログイン後にコピー

str が URL によって渡されたクエリ文字列である場合、文字列は変数に解析され、現在のスコープに設定されます。

パラメータ:


str
入力文字列

arr

2 番目の変数 arr が設定されている場合、変数は置換として配列要素としてこの配列に格納されます。 例 1:
現在のスコープに解決

<?php$str = &#39;name=fdipzone&gender=male&profession=programer&explain=a new programmer&#39;;
parse_str($str);echo $name.PHP_EOL;echo $gender.PHP_EOL;echo $profession.PHP_EOL;echo $explain.PHP_EOL;?>
ログイン後にコピー
出力:

fdipzone
male
programera new programmer
ログイン後にコピー

例 2:

結果を arr 配列に保存します

<?php$str = &#39;name=fdipzone&gender=male&profession=programer&explain=a new programmer&#39;;
parse_str($str, $arr);
print_r($arr);?>
ログイン後にコピー
出力:

Array(
    [name] => fdipzone
    [gender] => male
    [profession] => programer
    [explain] => a new programmer
)
ログイン後にコピー
4. URL のクエリ パラメーターを取得して解析します

最初に parse_url を使用してクエリを取得し、次に parse_str を使用してパラメータを解析します。
<?php$url = &#39;http://www.fdipzone.com/test/index.php?name=fdipzone&gender=male&profession=programmer&explain=a new programmer&#39;;$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $data);
print_r($data);?>
ログイン後にコピー

出力:

Array(
    [name] => fdipzone
    [gender] => male
    [profession] => programmer
    [explain] => a new programmer
)
ログイン後にコピー
この記事では、http_build_query の使用方法について説明します。 parse_url、parse_str を使用して URL を作成および解析します。その他の関連コンテンツについては、php 中国語 Web サイトに注意してください。 関連する推奨事項:

html5 を使用してシェイク関数を実装する方法


MySql メソッドを使用して auto_increment を表示および変更する方法


php を通じて Web デスクトップへのショートカットを生成する方法

以上がhttp_build_query、parse_url、parse_str を使用して、php を通じて URL を作成および解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles