Mysql
 sql >> база данни >  >> RDS >> Mysql

Сравняване на два масива с различни имена на ключове

Дайте псевдоним на едно от или и на двете полета, така че да съвпадат по ключ:

$sql1 = "SELECT modname AS module FROM users_modules WHERE email='$email'";

Сега има ключ на module вместо modname .

Можете да използвате array_diff за намиране на разликата между масивите, стига да имат сходна структура. Във вашия случай това би било премахване на другите два ключа от втората ви заявка за DB.

Например:

$sql1 = "SELECT modname AS module FROM users_modules WHERE email='$email'";
$result1 = $conn->query($sql1);
while ($row = $result1->fetch_assoc()){
   $indMods[] = $row;
}

$sql2 = "SELECT module FROM modules WHERE level = '$level'";
$result2 = $conn->query($sql2);
while ($row2 = $result2 -> fetch_assoc()){
   $allMods[] = $row2;
}

$difference = array_diff($indMods, $allMods);

Документация за array_diff на PHP :http://php.net/manual/en/function.array- diff.php

Имайте предвид, че има много начини да направите това. Това е само едно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Различна заявка за резултат при използване на mysql и mariadb

  2. PHP 500 Вътрешна сървърна грешка при извикване на Volley

  3. Функцията MYSQL TIMEDIFF не работи за дълга дата

  4. Преобразуване на резултатите от mysql заявка в CSV (с копиране/поставяне)

  5. Пакетен файл за свързване на mysql и изпълнение на команди