У меня есть переменная, которую я вытащил из таблицы базы данных следующим образом:
while($r = mysql_fetch_array($query) //The query is just: SELECT * FROM stuff_table WHERE userid='$userid'
{
$stuff = $r['stuff'];
}
Переменная вещи выглядит так: «автомобили, книги, компьютеры, продукты питания», и я сделал ее массивом:
//I used:
$array_of_stuff = explode(",", $stuff); //This gave me an array.
Теперь я хотел проверить его значения, например:
if(in_array("cars", $array_of_stuff) && in_array("books", $array_of_stuff))
{
//This line is the problem, I want it to check to see if it has "cars" and "books" in the array but this code is not working for that like it should. Instead of checking and finding both, it just goes on to the next elseif.
echo "Cars and Books";
} elseif(in_array("cars")) {
//
echo "Only cars";
} elseif(in_array("books")) {
echo "Only books";
} else {
echo "Other stuff...";
}
Вывод, который я получаю из этого: «Только автомобили» вместо «Автомобили и книги».
Итак, как я могу заставить свой код проверять массив на наличие 2 или более значений, прежде чем продолжить его оператор if / elseif?Возможно ли это с помощью функции in_array?
Var Dump:
array(4) { [0]=> string(4) "cars" [1]=> string(6) " books" [2]=> string(10) " computers" [3]=> string(6) " foods" }