Найти и найти все значения в массиве из базы данных mysqli - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть массив со значениями вроде

$slugs= array('abraham_lincoln','alan_watts','albert_camus','anne_frank','a_p_j_abdul_kalam','aristotle','arnold_schwarzenegger','audrey_hepburn','ayn_rand','barack_obama','benjamin_franklin','bill_gates','bob_dylan','bob_ross','brene_brown','bruce_lee','bryson_tiller','carl_sagan','chanakya','charles_bukowski','charlie_chaplin');

Я хочу проверить, существует ли такой же слаг в базе данных или нет.

$selectslug="SELECT `slug` FROM `authors_list`";
$done=mysqli_query($con, $selectslug )or trigger_error("Query Failed! SQL: $sql - Error: ".mysqli_error(), E_USER_ERROR);

Одиночный слаг происходит от

foreach($slugs as  $slug)
{ echo $slug; }

и один слаг из БД имеет вид

foreach($done as  $data)
{ echo $data;}

Так, как я могу использовать код ниже

if (in_array($slug, $data))
{
      echo $slug." Found<br />";
      }
    else
      {
      echo $slug." Match not found<br />";
}   

без повторения этого числа раз $ slug или $ data?

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете просто использовать array_intersect , чтобы получить слагов, которые находятся в базе данных, а затем вывести эхо в foreach.

$existanceSlugs = array_intersect($slugs, $done);

foreach($existanceSlugs as $value) {
    echo $value;
}

Если вы хотите получить слагов, которых нет в базе данных, вы можете просто использовать array_diff php function.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...