Kijken of waarde voorkomt met in_array
Roderick Velo
18/03/2009 17:00:00Ik haal uit mijn database allemaal hotels, campings, appartementen, etc. Bij sommige van deze staat hierin niet Hotel, camping of appartement. Dan staat er dus bijvoorbeeld NH Amsterdam. Nu wil ik dat er hierbij nog het accommodatie type bij geplaatst wordt zodat het Hotel NH Amsterdam wordt.
Ik dacht het controleren of een waarde voorkomt in een array als volgt werkt:
Dit werkt echter niet, want ik krijg steeds de 'else' melding. Ik vermoed dat dit komt doordat bijvoorbeeld een waarde uit de DB zoals "Hotel Zeezicht" ook false geeft omdat deze niet precies overeenkomt met de waarde "hotel". Ik heb daarom toen geprobeerd de hotelnamen uit de DB proberen op te splitsen door een explode te doen op de spatie, maar daar krijg ik het ook niet werkend mee. :(
Heeft iemand van jullie misschien een idee hoe ik dit goed werkend kan krijgen?
Ik dacht het controleren of een waarde voorkomt in een array als volgt werkt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$aAccommodatietypeNaam = array('hotel','motel','appartement', 'bungalow', 'vakantiehuis', 'hostel', 'aparthotel', 'villa', 'camping', 'herberg', 'chalet', 'vakantiepark', 'bed&breakfast', 'b&b');
$query = "SELECT naam FROM accommodaties";
$result= mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_assoc($result))
{
if (in_array($row['naam'], $aAccommodatietypeNaam))
{
echo $row['naam']. ' komt voor in de array.';
}
else
{
echo $row['naam']. ' komt niet voor in de array.';
}
}
?>
$aAccommodatietypeNaam = array('hotel','motel','appartement', 'bungalow', 'vakantiehuis', 'hostel', 'aparthotel', 'villa', 'camping', 'herberg', 'chalet', 'vakantiepark', 'bed&breakfast', 'b&b');
$query = "SELECT naam FROM accommodaties";
$result= mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_assoc($result))
{
if (in_array($row['naam'], $aAccommodatietypeNaam))
{
echo $row['naam']. ' komt voor in de array.';
}
else
{
echo $row['naam']. ' komt niet voor in de array.';
}
}
?>
Dit werkt echter niet, want ik krijg steeds de 'else' melding. Ik vermoed dat dit komt doordat bijvoorbeeld een waarde uit de DB zoals "Hotel Zeezicht" ook false geeft omdat deze niet precies overeenkomt met de waarde "hotel". Ik heb daarom toen geprobeerd de hotelnamen uit de DB proberen op te splitsen door een explode te doen op de spatie, maar daar krijg ik het ook niet werkend mee. :(
Heeft iemand van jullie misschien een idee hoe ik dit goed werkend kan krijgen?
Gewijzigd op 01/01/1970 01:00:00 door Roderick Velo
PHP hulp
22/12/2024 21:33:43Crispijn -
18/03/2009 17:08:00volgens mij kan je beter een extra tabel in je database aanmaken welke de categoriën beheerd. Op deze manier kan je dus eenvoudig op categorie selecteren.
Roderick Velo
18/03/2009 17:12:00Ja, dat heb ik ook hoor. ;-) Dit is alleen maar een voorbeeld van wat ik wil bereiken. Hoe kan ik dus kijken of een woord uit een hotelnaam voorkomt in $aAccommodatietypeNaam?