PHP array_intersect или in_array, тогда MYSQL

Необходимо найти, совпадают ли два массива, а затем, где они соответствуют данным pull из строки mysql, в которой они совпадают. Должен ли я использовать

$sql = "SELECT * FROM around"; $resultsd = $conn->query($sql); foreach($resultsd as $rowd) {} if (array_intersect($ar1, $ar2)) { $sword[] = $rowd['TIM']; } 

или я должен использовать

  if (in_array($ar1, $ar2)) { $sword[] = $rowd['TIM']; } 

Получение таких массивов, как:

  $ar1[] = $rowd['nim']; $ar2[] = $rowd['nim']; 

Тогда как же тянуть за конкретную строку, в которой они совпадают?

Я вижу, что они соответствуют, и распечатывают массив в порядке:

 Array ( [0] => dcbabcbded ) Array ( [0] => fafeafaebee [1] => afabfdefcbb [2] => dcbabcbded 

Но когда я пытаюсь получить эхо-данные mysql, где они совпадают, я терпит неудачу:

  Array ( ) 

я бы пошел с sql IN clause.

У вас есть массив имен клиентов: $a = array('john','rob','paul');

массив $nms = join(',',$a);

Сделать sql: 'SELECT * FROM tabl WHERE name IN ('.$nms.')';


сначала пересечь массив (или то, что вам нужно …), чтобы иметь массив необходимых имен.

используйте $new = array_intersect(Array ( [0] => dcbabcbded ), Array ( [0] => fafeafaebee [1] => afabfdefcbb [2] => dcbabcbded)) : тогда сделайте действительный sql, как указано в моем ответе выше.

Если вы уверены, что у вас всегда есть массив, пересекающийся с одним или никаким значением, тогда сделайте sql только с первым элементом массива: $ar[0] используя WHERE sql WHERE .