Je dois prendre un tableau comme ci-dessous:
$subids = Array
(
[s1] => one
[s2] => two
[s3] => three
[s4] => four
[s5] => five
[s6] => six
)
et générer une URL telle que http://example.com?s1=one&s2=two&s3=three=&s4=four&s5=five&s6=six
Tous les subid ne sont pas toujours définis, donc parfois s3 peut ne pas être défini, il ne devrait donc pas être ajouté à l'URL. De plus, quel que soit le premier identifiant, il doit avoir le? le précédant à la place de l'esperluette (&)
Donc si le tableau est juste:
$subids = Array
(
[s2] => two
[s6] => six
)
alors l'URL doit être http://example.com?s2=two&s6=six
J'ai les éléments suivants jusqu'à présent:
$ url = ' http://example.com '
foreach ($subids AS $key => $value) {
$result[$id]['url'] .= '&' . $key . '=' . $value;
}
Cependant, je ne sais pas quel serait le meilleur moyen de l’annexer? au début de la première paire clé/valeur.
Je pense qu’il existe une fonction PHP pour l’aider mais je n’en trouve pas beaucoup. J’utilise Codeigniter si je peux utiliser quelque chose qui est fourni par CI.
Tout ce dont vous avez besoin est http_build_query :
$final = $url . "?" . http_build_query($subids);
Vous pouvez utiliser avec http_build_query()
fonction. Exemple de php.net:
<?php
$data = array(
'foo' => 'bar',
'baz' => 'boom',
'cow' => 'milk',
'php' => 'hypertext processor',
);
echo http_build_query( $data ) . "\n";
echo http_build_query( $data, '', '&' );
?>
Et sortez ces lignes:
foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&baz=boom&cow=milk&php=hypertext+processor
Vous pouvez lire à partir de la source: http://www.php.net/manual/en/function.http-build-query.php
BTW, si vous utilisez avec WordPress, vous pouvez utiliser cette fonction: http://codex.wordpress.org/Function_Reference/add_query_arg
S'amuser. :)