Maison  >  Article  >  développement back-end  >  Les tableaux peuvent-ils être transmis via la méthode get en php ?

Les tableaux peuvent-ils être transmis via la méthode get en php ?

青灯夜游
青灯夜游original
2023-01-29 19:31:463728parcourir

Oui. Les URL peuvent transmettre des tableaux associatifs ou des tableaux d'indices ; en PHP, vous pouvez utiliser la fonction http_build_query() pour transmettre des tableaux dans l'URL via la méthode get. http_build_query() est utilisé pour générer une chaîne de requête codée en URL à partir d'un tableau associé (ou indexé), avec la syntaxe "http_build_query($query_data,$numeric_prefix,$arg_separator,$enc_type)".

Les tableaux peuvent-ils être transmis via la méthode get en php ?

L'environnement d'exploitation de ce tutoriel : système windows7, version PHP8, ordinateur DELL G3

Utilisez la méthode get pour passer des tableaux dans l'URL sous PHP

Vous pouvez passer des tableaux associatifs dans l'URL , et vous pouvez également transmettre un tableau d'indices.

Le moyen le plus simple est d'utiliser la fonction http_build_query() fournie avec PHP

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

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

Commencez à transmettre les paramètres avec la déclaration ? et utilisez & pour connecter chaque paramètre? 申明开始传递参数,用&连接各个参数

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

Si vous souhaitez transmettre un tableau, vous pouvez utiliser la méthode suivante : 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

Notez que les crochets ici doivent être échappés, sinon la transmission des erreurs peuvent survenir.

Connaissances étendues : Introduction à http_build_query()

    La fonction http_build_query() est une fonction intégrée à PHP qui est utilisée pour générer des chaînes de requête codées en URL à partir de tableaux associatifs (ou indexés).
  • Utilisation :
    • string http_build_query( $query_data, $numeric_prefix, $arg_separator, $enc_type = PHP_QUERY_RFC1738 )
    • Paramètres : Cette fonction accepte quatre paramètres comme mentionné ci-dessus et ci-dessous
  • $query_data :
  • Ce paramètre contient un tableau ou un objet contenant les propriétés suivantes :Il peut s'agir d'un tableau unidimensionnel tableau ou tableau multidimensionnel.
  • Si $query_data est un objet, seules les propriétés publiques seront fusionnées dans le résultat.
  • $numeric_prefix :Utilisez ce paramètre si l'indexation numérique est utilisée dans le tableau de base, elle précédera uniquement l'index numérique de l'élément dans le tableau de base.

$arg_separator :Il est utilisé pour séparer les arguments, mais il peut être remplacé en spécifiant cet argument.

$enc_type :

La valeur par défaut est PHP_QUERY_RFC1738.

Valeur de retour :

Il renvoie une chaîne codée en URL.

L'exemple de programme suivant est conçu pour illustrer la fonction http_build_query() en PHP :

Programme 1 :

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

Sortie :

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

Programme 2 : 🎜🎜
<?php 
$info = array('geeks', 'gfg' => 'sudo', 'placement' => 'hypertext processor'); 
  
echo http_build_query($info) . "$"; 
echo http_build_query($info, 'myvar_'); 
?>
🎜Sortie : 🎜
0=geeks&gfg=sudo&placement=hypertext+processor$myvar_0=geeks&gfg=sudo&placement=hypertext+processor
🎜Re : apprentissage salué : " 🎜Tutoriel vidéo PHP🎜》🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn