ホームページ  >  記事  >  バックエンド開発  >  phpのgetメソッドで配列を渡すことはできますか?

phpのgetメソッドで配列を渡すことはできますか?

青灯夜游
青灯夜游オリジナル
2023-01-29 19:31:463688ブラウズ

######できる。 URL は連想配列または添字配列を渡すことができます。PHP では、http_build_query() 関数を使用して、get メソッドを通じて URL 内の配列を渡すことができます。 http_build_query() は、構文「http_build_query($query_data,$numeric_prefix,$arg_separator,$enc_type)」を使用して、関連付けられた (またはインデックス付き) 配列から URL エンコードされたクエリ文字列を生成するために使用されます。

#このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューターphpのgetメソッドで配列を渡すことはできますか?

get メソッドを使用します。 PHP で URL で配列を渡す

#URL で連想配列または添字配列を渡すことができます。

最も簡単な方法は、PHP に付属の http_build_query() 関数を使用することです。

$parameters = [
'user' => array(
        'name' => 'Bob Smith',
        'age'  => 47,
        'sex'  => 'M',
        'dob'  => '5/12/1956'
    ),
    'pastimes' => array('golf', 'opera', 'poker', 'rap'),
    'children' => array(
        'bobby' => array('age'=>12, 'sex'=>'M'),
        'sally' => array('age'=>8, 'sex'=>'F')
    ),
    'CEO'
];

// 这里两种数组的方式能够进行混用定义,没有问题

http_build_query($data);
// 注意这里的结果会将参数中的特殊字符进行转义形成最终的结果查询串

还有就是直接进行参数拼接

?

宣言でパラメータの受け渡しを開始し、

# を使用します。 # 各パラメータを接続しますeg.

https://www.baidu.com?a=1&b=2&c=3

場合配列を渡したい場合は、次のメソッドを使用できます:

https://www.baidu.com?a[0]=0&a[1]=1&a[2]=2&a[3] ]=3&a[4]=4

##https://www.baidu.com?a[q]=0&a[w]=1&a[e]=2&a[r]=3&a[t ]=4

ここで角括弧をエスケープする必要があることに注意してください。エスケープしないと、送信エラーが発生する可能性があります。

拡張知識: http_build_query() の概要

http_build_query() 関数は、PHP の組み込み関数であり、取得に使用されます。関連 (またはインデックス) 配列からデータを取得して、URL エンコードされたクエリ文字列を生成します。
使用法:

string http_build_query( $query_data, $numeric_prefix, $arg_separator, $enc_type = PHP_QUERY_RFC1738 )

パラメータ: この関数は、上記および下記で説明する 4 つのパラメータを受け入れます

$query_data:

このパラメーターは、次のプロパティを含む配列またはオブジェクトを保存します:

    1 次元配列または多次元配列にすることができます。
  • $query_data がオブジェクトの場合、パブリック プロパティのみが結果にマージされます。
    • $numeric_prefix:
    • 数値インデックスが基本配列で使用されている場合は、このパラメーターを使用します。このパラメーターは、基本配列内の要素の数値インデックスのみの前に置かれます。
  • $arg_separator:引数を区切るために使用されますが、この引数を指定することでこれをオーバーライドできます。
  • $enc_type:デフォルト値は PHP_QUERY_RFC1738 です。
  • 戻り値: URL エンコードされた文字列を返します。
次のサンプル プログラムは、PHP の http_build_query() 関数を説明することを目的としています。

プログラム 1:

<?php 
$info = array( 
    &#39;sudo&#39; => &#39;placement&#39;, 
    &#39;CPP&#39; => &#39;course&#39;, 
    &#39;FORK&#39; => &#39;C&#39;, 
); 
  
echo http_build_query($info) . "#"; 
echo http_build_query($info, &#39;&#39;, &#39;&&#39;); 
  
?>

出力:

sudo=placement&CPP=course&FORK=C#sudo=placement&CPP=course&FORK=C
プログラム 2:

<?php 
$info = array(&#39;geeks&#39;, &#39;gfg&#39; => &#39;sudo&#39;, &#39;placement&#39; => &#39;hypertext processor&#39;); 
  
echo http_build_query($info) . "$"; 
echo http_build_query($info, &#39;myvar_&#39;); 
?>

出力:

0=geeks&gfg=sudo&placement=hypertext+processor$myvar_0=geeks&gfg=sudo&placement=hypertext+processor
推奨学習:「PHP ビデオ チュートリアル

以上がphpのgetメソッドで配列を渡すことはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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