ホームページ >バックエンド開発 >PHPの問題 >PHP 配列をパラメータに変換する方法に焦点を当てる

PHP 配列をパラメータに変換する方法に焦点を当てる

PHPz
PHPzオリジナル
2023-04-17 14:14:33856ブラウズ

Web 開発テクノロジーの継続的な更新と開発により、PHP はサーバーサイド プログラミング言語としてますます広く使用されるようになりました。配列は、PHP で開発する場合に非常に一般的で重要なデータ型です。配列をパラメータに変換する必要がある場合がありますが、この記事では、PHP 配列をパラメータに変換する方法に焦点を当てます。

1. 配列の定義

PHP では、配列を 2 種類定義できます。 1 つは「インデックス付き配列」で、添字が自然数列である値の順序付けされたコレクションです。例:

$arr = array('张三', '李四', '王五', '赵六');

もう 1 つは「連想配列」、つまり、添え字が任意の文字列型の値である一連の値の順序付けされたコレクションです。例:

$arr = array('name' => '张三', 'age' => 18, 'sex' => '男');

2. 配列を文字列に変換する

配列をパラメータとして API に渡すか、URL に追加する必要がある場合は、配列を変換する必要があります。文字列形式に変換します。 PHP は、この機能を実現するために 2 つの関数を提供します。

  1. http_build_query()

http_build_query() 関数を使用して、配列を URL クエリ文字列に変換します。この関数の構文は次のとおりです。

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )

このうち、query_data パラメータは変換対象の配列を表します。 numeric_prefixパラメータはオプションで、配列がインデックス配列の場合、プレフィックスが添字に追加されることを示します。 arg_separatorこのパラメータもオプションであり、複数のパラメータ間の区切り文字を表します。 enc_typeこのパラメータもオプションであり、使用するエンコード方式を示します。デフォルトは PHP_QUERY_RFC1738 です。

次のサンプル コードは、http_build_query() 関数を使用して連想配列を URL クエリ文字列に変換する方法を示しています。

$arr = array('name' => '张三', 'age' => 18, 'sex' => '男');
$querystring = http_build_query($arr);
echo $querystring;

出力結果は次のとおりです。次のように:

name=%E5%BC%A0%E4%B8%89&age=18&sex=%E7%94%B7
  1. ##implode()

http_build_query() 関数を使用して配列を次のように変換します。 implode() 関数を使用して配列を文字列に変換することもできます。この関数の構文は次のとおりです。

string implode ( string $glue , array $pieces )
このうち、

glue パラメータは配列要素を接続するために使用される文字列を表し、pieces パラメータは配列要素を接続するために使用される文字列を表します。変換される配列。

以下は、

implode() 関数を使用してインデックス配列を文字列に変換する方法を示すサンプル コードです。

$arr = array('张三', '李四', '王五', '赵六');
$str = implode(',', $arr);
echo $str;
出力は次のとおりです。

张三,李四,王五,赵六
3. 配列を JSON に変換する

配列を JSON 文字列に変換する必要がある場合は、PHP の

json_encode() 関数を使用できます。この関数の構文は次のとおりです。

string json_encode(mixed $value [, int $options = 0 [, int $depth = 512 ]])
このうち、

value パラメータはエンコードされる配列を表し、options パラメータはオプションであり、指定することができます。エンコーディング オプションを指定するための整数。 Depth パラメーターもオプションで、エンコーディングの最大深さを示します。

次は、

json_encode() 関数を使用して連想配列を JSON 文字列に変換する方法を示すサンプル コードです。

$arr = array('name' => '张三', 'age' => 18, 'sex' => '男');
$json = json_encode($arr);
echo $json;
出力は次のとおりです。 :

{"name":"\u5f20\u4e09","age":18,"sex":"\u7537"}
この関数の出力では、中国語の文字が Unicode 文字にエスケープされています。

概要

この記事では、PHP 配列をパラメータに変換する方法を学びました。配列をクエリ文字列または通常の文字列に変換できる 2 つの関数

http_build_query()implode() を導入しました。また、配列を JSON 文字列に変換できる json_encode() 関数も導入しました。これらの関数を学ぶことで、配列をパラメータに変換する方法をマスターし、Web 開発作業をより適切に実行できるようになると思います。

以上がPHP 配列をパラメータに変換する方法に焦点を当てるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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