Задать вопрос
Tange
@Tange

Как лучше всего проверить наличие элемента в массиве?

$ssql1 = mysql_query("SELECT mag FROM corzina WHERE mid=$id2");
    $rows1 = mysql_num_rows($ssql1);
    for($k=0;$k<$rows1;$k++){
    $arr1 = mysql_fetch_assoc($ssql1);
    }
	
	
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";

$ssql = mysql_query("SELECT author FROM bonus WHERE gid='$id2'");
    $rows = mysql_num_rows($ssql);
    for($k=0;$k<$rows;$k++){
    $arr2 = mysql_fetch_assoc($ssql);
		print_r($arr2);
    }	



echo "<br>";
echo "<br>";
echo "<br>";






			 


$a=3;		  
$s = mysql_query("SELECT * FROM magazin WHERE id<$a",$db); 
            $t  =mysql_fetch_array($s);
			  			$safsa = $t['name'];		  
$ima = $tovar['mag'];


echo $ima;





if(in_array($ima, $arr2)){
echo $ima;
}
else {
echo 'не вышло';
}


Array ( [author] => Eldorado ) Array ( [author] => Asst ) Array ( [author] => Gdg ) Вот такой массив, но он как назло выводит лишь последнее значение, то есть Gdg, пытаюсь написать в ин арее другие названия, ничего не выводит. Как проверить наличие ВСЕХ значений?
  • Вопрос задан
  • 395 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
dohlik
@dohlik
$arr1 = mysql_fetch_assoc($ssql1);


Замените на

$arr1[] = mysql_fetch_assoc($ssql1);

Аналогично для arr2. Вообще я бы для чтения подобных списков делал немного по-другому:

while($row = mysql_fetch_array($s)) {
    $arr[$row['name']] = $row; 
}


Это позволит дальше делать проверку через isset($arr[$author]). Естественно, для этого name должно быть уникальным.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Zewkin
Я у мамы фронтэндер
for ($i = 0; $i < count($arr2); $i++) {
    if(in_array($ima, $arr2)){
        echo $ima;
    } else {
        echo 'не вышло';
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы