7.105 URL
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . base64_decode . base64_encode . get_meta_tags ->http_build_query . parse_url . rawurldecode . rawurlencode . urldecode . urlencode
|
7.105.10 http_build_query()Génère une chaîne en encodage URL[ Exemples avec http_build_query ] CVS uniquement
string
http_build_query (
array
formdata
,
string
numeric_prefix
)
http_build_query génère une chaîne en encodage URL,
construite à partir du tableau indexé ou associatif
formdata
.
formdata
peut être un tableau ou un objet contenant
une structure mono-dimensionnelle simple, ou un tableau de tableaux (qui peuvent
aussi contenir des tableaux). Si les index sont numériques, ils sont lus dans
le tableau de base, et si
numeric_prefix
est fourni,
il sera utilisé pour préfixer les noms des index pour les éléments du
tableau de base. Cela permet de générer des noms de variables valides,
si les données sont ensuites décodées par
PHP
ou une application
CGI
.
Exemple avec http_build_query |
<?php $data = array('foo'=>'bar', 'baz'=>'boom', 'cow'=>'milk', 'php'=>'hypertext processor'); echo http_build_query($data); /* Affiche : foo=bar&baz=boom&cow=milk&php=hypertext+processor */ ?>
|
Exemple avec http_build_query et un index numérique |
<?php $data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor'); echo http_build_query($data); /* Affiche : 0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor */ echo http_build_query($data, 'myvar_'); /* Affiche : myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor */ ?>
|
Exemple avec http_build_query et des tableaux complexes |
<?php $data = array('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'); echo http_build_query($data, 'flags_'); /* Affiche : (word wrapped for readability) user[name]=Bob+Smith&user[age]=47&user[sex]=M&user[dob]=5%1F12%1F1956& pastimes[0]=golf&pastimes[1]=opera&pastimes[2]=poker&pastimes[3]=rap& children[bobby][age]=12&children[bobby][sex]=M&children[sally][age]=8& children[sally][sex]=F&flags_0=CEO
Note: Only the numericly indexed element in the base array "CEO" received a prefix. The other numeric indices, found under pastimes, do not require a string prefix to be legal variable names. */ ?>
|
Using http_build_query with an object |
<?php class myClass { var $foo; var $baz; function myClass() { $this->foo = 'bar'; $this->baz = 'boom'; } }
$data = new myClass();
echo http_build_query($data); /* Affiche : foo=bar&baz=boom */ ?>
|
Voir aussi
parse_str
,
parse_url
,
urlencode
et
array_walk
|