Heim >Backend-Entwicklung >PHP-Problem >Können Arrays über die Get-Methode in PHP übergeben werden?

Können Arrays über die Get-Methode in PHP übergeben werden?

青灯夜游
青灯夜游Original
2023-01-29 19:31:463771Durchsuche

Ja. Die URL kann ein assoziatives Array oder ein tiefgestelltes Array übergeben; in PHP können Sie die Funktion http_build_query() verwenden, um das Array in der URL über die get-Methode zu übergeben. http_build_query() wird verwendet, um eine URL-codierte Abfragezeichenfolge aus einem zugehörigen (oder indizierten) Array mit der Syntax „http_build_query($query_data,$numeric_prefix,$arg_separator,$enc_type)“ zu generieren.

Können Arrays über die Get-Methode in PHP übergeben werden?

Die Betriebsumgebung dieses Tutorials: Windows7-System, PHP8-Version, DELL G3-Computer

Verwenden Sie die get-Methode, um Arrays in der URL unter PHP zu übergeben

Sie können assoziative Arrays oder Indizes übergeben das URL-Array.

Der einfachste Weg besteht darin, die Funktion http_build_query() zu verwenden, die mit PHP geliefert wird

$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);
// 注意这里的结果会将参数中的特殊字符进行转义形成最终的结果查询串

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

Beginnen Sie mit der Übergabe von Parametern mit der Deklaration ? und verwenden Sie &, um jeden Parameter zu verbinden? 申明开始传递参数,用&连接各个参数

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

eg.

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

Wenn Sie ein Array übergeben möchten, können Sie die folgende Methode verwenden: https://www.baidu.com?a[0]=0&a[1]=1&a[2]=2&a[3]=3&a[4]=4https://www .baidu.com?a[q] =0&a[w]=1&a[e]=2&a[r]=3&a[t]=4

Beachten Sie, dass die eckigen Klammern hier maskiert werden müssen, da sonst die Übertragung erfolgt Es können Fehler auftreten.

Erweiterte Kenntnisse: Einführung in http_build_query()

    Die Funktion http_build_query() ist eine integrierte Funktion in PHP, die zum Generieren von URL-codierten Abfragezeichenfolgen aus assoziativen (oder indizierten) Arrays verwendet wird.
  • Verwendung:
    • string http_build_query( $query_data, $numeric_prefix, $arg_separator, $enc_type = PHP_QUERY_RFC1738 )
    • Parameter: Diese Funktion akzeptiert vier Parameter wie oben und unten erwähnt
  • $query_data:
  • Dieser Parameter enthält ein Array oder Objekt mit den folgenden Eigenschaften:Es kann eindimensional sein Array oder mehrdimensionales Array.
  • Wenn $query_data ein Objekt ist, werden nur öffentliche Eigenschaften in das Ergebnis eingefügt.
  • $numeric_prefix:Verwenden Sie diesen Parameter, wenn im Basisarray eine numerische Indizierung verwendet wird. Er wird nur dem numerischen Index des Elements im Basisarray vorangestellt.

$arg_separator:Wird zum Trennen von Argumenten verwendet, kann aber durch Angabe dieses Arguments überschrieben werden.

$enc_type:

Der Standardwert ist PHP_QUERY_RFC1738.

Rückgabewert:

Es gibt eine URL-codierte Zeichenfolge zurück.

Das folgende Beispielprogramm soll die Funktion http_build_query() in PHP veranschaulichen:

Programm 1:

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

Ausgabe:

sudo=placement&CPP=course&FORK=C#sudo=placement&CPP=course&FORK=C

Programm 2: 🎜🎜
<?php 
$info = array('geeks', 'gfg' => 'sudo', 'placement' => 'hypertext processor'); 
  
echo http_build_query($info) . "$"; 
echo http_build_query($info, 'myvar_'); 
?>
🎜Ausgabe: 🎜
0=geeks&gfg=sudo&placement=hypertext+processor$myvar_0=geeks&gfg=sudo&placement=hypertext+processor
🎜Empfohlenes Lernen: „ 🎜PHP-Video-Tutorial🎜》🎜

Das obige ist der detaillierte Inhalt vonKönnen Arrays über die Get-Methode in PHP übergeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn