Array search returnt 0

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis Ameling

Dennis Ameling

29/02/2012 18:55:11
Quote Anchor link
Hallo iedereen,

Ik heb in mijn script de array_search() functie. Deze returnt de key in de array waarnaar je op zoek bent.

Dit is mijn situatie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

$zoekProduct
= 131; // voorbeeld
$product = array(131:1, 136:2);
$ID = array_search($zoekProduct, $product);
// functie zoekt dus naar 131 in de array.

if( $ID != false ):
   // Product gevonden in array

else:
   // Product niet gevonden in array
endif;

?>


Het probleem is dat de 131 in de array op key 0 staat. Hierdoor ziet PHP de variabele $ID als 0 oftewel false.

Wat kan ik hieraan doen? Ik heb al van alles geprobeerd, maar het lukt niet...
Groeten,
Dennis
 
PHP hulp

PHP hulp

10/01/2025 19:15:29
 
- SanThe -

- SanThe -

29/02/2012 19:02:07
Quote Anchor link
Return Values

Returns the key for needle if it is found in the array, FALSE otherwise.

If needle is found in haystack more than once, the first matching key is returned. To return the keys for all matching values, use array_keys() with the optional search_value parameter instead.
Warning

This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
 
Reshad F

Reshad F

29/02/2012 19:05:39
Quote Anchor link
een array heeft standaard als begin een 0 als key dus je moet er iets als

131[1]; van maken
 
- SanThe -

- SanThe -

29/02/2012 19:09:02
Quote Anchor link
Reshadd farid op 29/02/2012 19:05:39:
een array heeft standaard als begin een 0 als key dus je moet er iets als

131[1]; van maken


Heeft niets met het probleem te maken.
 
Dennis Ameling

Dennis Ameling

01/03/2012 17:38:43
Quote Anchor link
Bedankt voor de snelle reacties! Ik heb het nu als volgt gedaan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

$zoekProduct
= 131; // voorbeeld
$product = array(131:1, 136:2);
$ID = false;
$ID = array_search($zoekProduct, $product);
// functie zoekt dus naar 131 in de array.

if($ID === FALSE):
   // Product niet gevonden in array
else:
   // Product gevonden in array
endif;

?>


De variabele ID wordt dus eerst op false gezet, stel dat array_search dan 0 zou returnen dan maakt dat niet uit omdat d.m.v. === naar de waarde false (alleen letters, dus niet 0) wordt gekeken. :)
 
Ozzie PHP

Ozzie PHP

01/03/2012 18:29:26
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$zoekProduct
= 131; // voorbeeld
$product = array(131:1, 136:2);
$ID = array_search($zoekProduct, $product);
// functie zoekt dus naar 131 in de array.

if ($ID !== false) {
   // Product gevonden in array
}
?>


Toevoeging op 01/03/2012 18:31:35:

"omdat d.m.v. === naar de waarde false (alleen letters, dus niet 0) wordt gekeken. :)"

Wat je hier zegt klopt niet. Leuk verzonnen maar onwaar. Met === controleer je ook of het type van de variabele overeenstemt (in dit geval de BOOLEAN false).
 
Dennis Ameling

Dennis Ameling

01/03/2012 18:36:33
Quote Anchor link
@Ozzie

excuses, dat bedoelde ik inderdaad.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.