183 votes

Fonction PHP pour construire la chaîne de requête à partir de la matrice de

Je suis à la recherche pour le nom de la fonction PHP pour créer une chaîne de requête à partir d'un tableau de paires clé-valeur. Veuillez noter, je suis à la recherche pour le construit en PHP la fonction pour ce faire, pas un homebrew un (une recherche google semble de retour). Il y en a un, je ne m'en souviens pas de son nom ou de le trouver sur php.net. Autant que je me souvienne de son nom n'est pas intuitive.

340voto

tj111 Points 12313

Vous êtes à la recherche pour http_build_query().

22voto

thatjuan Points 1913

Voici un simple php4-friendly de mise en œuvre:

/**
* Builds an http query string.
* @param array $query  // of key value pairs to be used in the query
* @return string       // http query string.
**/
function build_http_query( $query ){

    $query_array = array();

    foreach( $query as $key => $key_value ){

        $query_array[] = urlencode( $key ) . '=' . urlencode( $key_value );

    }

    return implode( '&', $query_array );

}

0voto

Adam Wright Points 31715

Je ne suis pas au courant d'une fonction builtin, mais il est le PECL classe http://uk.php.net/manual/en/class.httpquerystring.php

0voto

Armpc Points 29

mais pour l' inverse de ce travail, vous pouvez utiliser :

void parse_str(str $input, array $output);
//for example:
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

Bonne chance.

-3voto

Click Upvote Points 34295

Imploser sera de combiner un tableau en une chaîne de caractères pour vous, mais pour faire une requête SQL une kay paires clé/valeur, vous devrez écrire votre propre fonction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X