Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Documents
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


http_build_query

http_build_query

(PHP 5)

http_build_query -- Génère une chaîne de requête en encodage URL

Description

string http_build_query ( array formdata [, string numeric_prefix [, string arg_separator]] )

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 monodimensionnelle simple, ou un tableau de tableaux (qui peuvent aussi contenir des tableaux). Si des indices numériques sont utilisés dans le tableau de base et que numeric_prefix est fourni, il sera utilisé pour préfixer les noms des index pour les éléments du tableau de base seulement. Cela permet de générer des noms de variables valides, si les données sont ensuite décodées par PHP ou une application CGI.

Note : arg_separator.output est utilisée pour séparer les arguments tant que le paramètre arg_separator n'est pas fourni.

Exemple 1. Utilisation simple de http_build_query()

<?php
$data
= array('foo'=>'bar',
    
'baz'=>'boom',
    
'cow'=>'milk',
    
'php'=>'hypertext processor');

echo
http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
echo http_build_query($data, '', '&amp;'); // foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor
?>

Exemple 2. http_build_query() avec tableau indexé.

<?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 3. http_build_query() avec tableau complexe

<?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_');
?>

cet exemple va afficher : (sur plusieurs lignes pour la lisibilité)

user[name]=Bob+Smith&user[age]=47&user[sex]=M&user[dob]=5%2F12%2F1956&
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 : Seuls les éléments indexés numériquement ("CEO") dans le tableau de base sont préfixés. Les autres indices numériques à d'autres niveaux n'ont pas besoin de l'être pour avoir des noms valides.

Exemple 4. Utilisation de http_build_query() avec un objet

<?php
class myClass {
    var
$foo;
    var
$baz;

     function
myClass() {
         
$this->foo = 'bar';
         
$this->baz = 'boom';
     }
}

$data = new myClass();

echo
http_build_query($data); // foo=bar&baz=boom
?>

Note : Le paramètre arg_separator a été ajouté en PHP 5.1.2.

Voir aussi parse_str(), parse_url(), urlencode() et array_walk().


Manuel PHP pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx