Web 開発テクノロジーの継続的な更新と開発により、PHP はサーバーサイド プログラミング言語としてますます広く使用されるようになりました。配列は、PHP で開発する場合に非常に一般的で重要なデータ型です。配列をパラメータに変換する必要がある場合がありますが、この記事では、PHP 配列をパラメータに変換する方法に焦点を当てます。
1. 配列の定義
PHP では、配列を 2 種類定義できます。 1 つは「インデックス付き配列」で、添字が自然数列である値の順序付けされたコレクションです。例:
$arr = array('张三', '李四', '王五', '赵六');
もう 1 つは「連想配列」、つまり、添え字が任意の文字列型の値である一連の値の順序付けされたコレクションです。例:
$arr = array('name' => '张三', 'age' => 18, 'sex' => '男');
2. 配列を文字列に変換する
配列をパラメータとして API に渡すか、URL に追加する必要がある場合は、配列を変換する必要があります。文字列形式に変換します。 PHP は、この機能を実現するために 2 つの関数を提供します。
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
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 サイトの他の関連記事を参照してください。