void parse_str ( string $str [, array &$arr ] )
http_build_query、parse_url、parse_str を使用して、php を通じて URL を作成および解析する方法
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( 'name' => 'fdipzone', 'gender' => 'male', 'profession' => 'programmer', 'explain' => 'a new programmer');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('fdipzone','male','programmer','a new programmer');echo http_build_query($data, 'info_', '#', 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 = 'http://fdipzone:123456@www.fdipzone.com:80/test/index.php?id=1#tag'; 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
parse_str は次のようになります。文字列は複数の変数に解析されます。void parse_str ( string $str [, array &$arr ] )
ログイン後にコピー
str が URL によって渡されたクエリ文字列である場合、文字列は変数に解析され、現在のスコープに設定されます。 パラメータ: void parse_str ( string $str [, array &$arr ] )
str
入力文字列
2 番目の変数 arr が設定されている場合、変数は置換として配列要素としてこの配列に格納されます。 例 1:
現在のスコープに解決
<?php$str = 'name=fdipzone&gender=male&profession=programer&explain=a new programmer'; parse_str($str);echo $name.PHP_EOL;echo $gender.PHP_EOL;echo $profession.PHP_EOL;echo $explain.PHP_EOL;?>
fdipzone male programera new programmer
結果を arr 配列に保存します
<?php$str = 'name=fdipzone&gender=male&profession=programer&explain=a new programmer'; parse_str($str, $arr); print_r($arr);?>
Array( [name] => fdipzone [gender] => male [profession] => programer [explain] => a new programmer )
最初に parse_url を使用してクエリを取得し、次に parse_str を使用してパラメータを解析します。 <?php$url = 'http://www.fdipzone.com/test/index.php?name=fdipzone&gender=male&profession=programmer&explain=a new programmer';$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $data);
print_r($data);?>
ログイン後にコピー
<?php$url = 'http://www.fdipzone.com/test/index.php?name=fdipzone&gender=male&profession=programmer&explain=a new programmer';$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 )
html5 を使用してシェイク関数を実装する方法
MySql メソッドを使用して auto_increment を表示および変更する方法
php を通じて Web デスクトップへのショートカットを生成する方法
以上がhttp_build_query、parse_url、parse_str を使用して、php を通じて URL を作成および解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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