[PHP]Ik snap array_unique functie niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Sjeik
  • Registratie: Augustus 2001
  • Laatst online: 29-05 14:39
Ik ben bezig met een website en wil via de adressbalk de meeste informatie versturen. Geen probleem opzich, want met $php_self enzo kan je al heel veel doen. Het gaat alleen vervelender worden als er eerst naar test.php?ID=1 wordt gegaan en vandaaruit ze naar ID=2 willen gaan. Dan krijg je dit soort vervelende dingen in je Adresbalk:
test.php?ID=1&ID=2&ID=5&ID=1
Om die eruit te filteren ben ik bezig met een scriptje en het lukt al aardig. Als er alleen van een variabele in de adresbalk staat is er geen probleem. Maar zodra er een tweede variabele bijkomt laat ie nog maar eentje zien. Dit is de code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
$temp = explode ("&", $QUERY_STRING);
$i = 0;
while (count($temp) > $i){
    $urlvars[$i] = explode ("=", $temp[$i]);
    $i++;
}
$urlvars = array_reverse($urlvars);
$urlvars = array_unique($urlvars);
print_r(array_values ($urlvars));
?>


Nu ligt het natuurlijk aan die array_unique, alvast dat denk ik. Maar waarom doet dat klereding het nu niet goed?
Met de url url.php?blaat=1&blaat=2&pom=1&pom=10 geeft ie als output:
Array ( [0] => Array ( [0] => pom [1] => 10 ) )
terwijl er echt 2 soorten array's zijn, nl pom en blaat!
Wie kan mij uitleggen wat er gebeurd? Ik snap het nl zelf niet meer :/

Was ik maar rijk en niet zo knap...


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Misschien is het handiger om het probleem bij de bron aan te pakken ipv de symptomen te bestrijden.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Sjeik
  • Registratie: Augustus 2001
  • Laatst online: 29-05 14:39
Janoz schreef op 19 januari 2003 @ 15:47:
Misschien is het handiger om het probleem bij de bron aan te pakken ipv de symptomen te bestrijden.
Ja? En hoe doe ik dat?

Was ik maar rijk en niet zo knap...


Acties:
  • 0 Henk 'm!

Verwijderd

kwak gewoon alle waardes die in $_GET staan achter de url en vervang waar nodig is

Acties:
  • 0 Henk 'm!

  • Sjeik
  • Registratie: Augustus 2001
  • Laatst online: 29-05 14:39
Mja, daar dacht ik ook al aan... Maar dan weet ik nog steeds niet waarom dat script niet werkt? En hoe array_unique dus wel werkt :D

Was ik maar rijk en niet zo knap...


Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

  • Sjeik
  • Registratie: Augustus 2001
  • Laatst online: 29-05 14:39
Goed, dat heb ik gelezen, maar waarom doet ie het niet in mijn script zoals ie het daar doet?

Was ik maar rijk en niet zo knap...

Pagina: 1