phpbar.de logo

Mailinglisten-Archive

[php] Wie übergebe ich ein Array mit $_GET?

[php] Wie übergebe ich ein Array mit $_GET?

Yannik Hampe yannik at cipher-code.de
Sam Aug 2 11:21:11 CEST 2008



Ralf Eggert wrote:
> Moin,
> 
> vielleicht ist das eine Lösungsidee für dich?
> 
> $array = array(
>    '1',
>    '2',
>    'Gummibaum',
>    'abc'
> );
> 
> $string = implode('|', $array);
> 
> Den $string hängst du dann an graph.php?blubb= dran. Funktioniert aber
> nur wirklich, wenn du keine Indizes im Array brauchst. Dafür ist es dann
> platzsparender als serialize().

Also Sascha hatte da schon die so ziemlich die ultimative Lösung 
gepostet... Aber ich unterlege das auch nochmal mit (erweiterten) 
Beispiel aus der manual:

php > $data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' 
=>'hypertext processor');
php > echo http_build_query($data);
0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
php > echo http_build_query(array($data));
0%5B0%5D=foo&0%5B1%5D=bar&0%5B2%5D=baz&0%5B3%5D=boom&0%5Bcow%5D=milk&0%5Bphp%5D=hypertext+processor

Ottmar hat natürlich Recht, dass die maximale Größe eines Gets recht 
Bescheiden in vergleich zu anderen Möglichkeiten sein soll. In apache's 
Defaultkonfig bekommst du allerdings fast 8kb da rein. Du musst dir eben 
überlegen, welche wahnsinn's queries du da reinhauen willst ^^.
> 
> Gruss,
> 
> Ralf

Yannik

php::bar PHP Wiki   -   Listenarchive