Avatar billede engberg Juniormester
15. juni 2006 - 14:39 Der er 12 kommentarer og
2 løsninger

Hvad nu når $key = array_search er 0?

Dette virker ikke, hvis det er det første element i mit array, altså når $key bliver "0" - hvad gør jeg??

$key = array_search($Søgeord, $Base);
if($key){
Avatar billede j_jorgensen Nybegynder
15. juni 2006 - 14:40 #1
Prøv  if ($key === false)
Avatar billede j_jorgensen Nybegynder
15. juni 2006 - 14:40 #2
Sludder.. if (!$key === false)
Avatar billede engberg Juniormester
15. juni 2006 - 14:44 #3
nope - den hopper stadig ikke ind i løkken, hvis $key=0
Avatar billede Slettet bruger
15. juni 2006 - 14:46 #4
if(isset($key))
Avatar billede Slettet bruger
15. juni 2006 - 14:47 #5
Det er generelt bedre at bruge isset() eller empty() end bare if($var)
Avatar billede morhan Novice
15. juni 2006 - 15:45 #6
http://dk.php.net/manual/en/language.operators.php#language.operators.precedence

if (!($key === false))

vil virke, da ! har højere prioritet end ===
Avatar billede engberg Juniormester
15. juni 2006 - 19:08 #7
wicez det lyder til at virke - smid lige et svar mens jeg tester...
Avatar billede morhan Novice
15. juni 2006 - 19:23 #8
du kan ikke bruge isset, den tester om variablen eksisterer, og det vil den altid gøre
Avatar billede engberg Juniormester
16. juni 2006 - 07:52 #9
Alt andet lige, så virker det nu med isset...

Det kører i en løkke, hvor jeg til sidst bruger unset($key) - alt ser fint ud...
Avatar billede Slettet bruger
16. juni 2006 - 10:47 #10
Perfekt. Jeg smider et svar her. :)
Avatar billede morhan Novice
16. juni 2006 - 11:06 #11
$Base = array("hello", "world");

$key = array_search("none", $Base);
if(isset($key)){
    echo "found";
}

den echoer "found" ud, men det er vel ikke den ønskede effekt?
Avatar billede morhan Novice
16. juni 2006 - 11:07 #12
jeg har måske forklaringen på, at det måske alligvel virker for dig. fra php manualen:

"Prior to PHP 4.2.0, array_search() returns NULL on failure instead of FALSE"

men uanset hvad, så synes jeg ikke isset bør bruges her
Avatar billede morhan Novice
16. juni 2006 - 11:10 #13
Med andre ord, hvis du kører scriptet på en server med PHP >= 4.2.0 så virker dit script ikke
Avatar billede Slettet bruger
16. juni 2006 - 11:22 #14
$Base = array("hello", "world");

$key = array_search("none", $Base);
if(strlen($key) > 0){
    echo "found";
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester