Как найти любое общее число, существующее между двумя динамическими значениями - PHP

Из моей базы данных мой код извлекает (динамически) два значения (varChar) из двух таблиц, и я хочу найти, есть ли хотя бы одно общее число между двумя значениями. Если хотя бы одно число является общим, мой код будет извлекать строки и отображать значения строк (цикл while).

Я новичок в php и новичок в stackoverflow. Мой код работает нормально и получает результаты, как я хотел. Проблема 1.) будет ли он работать правильно все время? 2.) Я чувствую, что мой код кажется уродливым, и его можно улучшить.

Вот мой код: $sql = "SELECT * FROM table1 WHERE userId = '".$_SESSION['userId']."'"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $nearBy = $row['nearBy']; $area_1 = explode(',', $nearBy);//Вот например получаю результат - 1,4,5,9,12

       and 

 $sql = "SELECT * FROM table2 ORDER By id";
 $result = $conn->query($sql);
 while($row = $result->fetch_assoc())
 {
  $area_2 = explode(',', $row['areas']); // 9,12,24,67

 ```
 foreach ($area_1 as $value1) {
    $value1;
 foreach ($area_2 as $value2){
    $value2;
    if($value1 == $value2){
        if(!empty($result)){
 ```
       
 ```   
    $sql10 = "SELECT * FROM table2 ORDER By id";
$result10 = $conn->query($sql10);
while($row10 = $result10->fetch_assoc())
```
` 

// Готово, идея такова — я преобразовал первый результат (область_1) в массив с помощью взрыва, и я сделал то же самое с «областью_2». Затем я перебрал оба массива, чтобы найти хотя бы какое-то общее число. Если результат не пустой, то доступен хотя бы один общий номер, и будут отображаться конкретные сведения о строке. Точно так же все строки будут отображаться одна за другой.

Я снова хочу остаться кодером, потому что я очень новичок в php-кодировании. Заранее спасибо за вашу помощь.

Мой код работает нормально и получает результаты, как я хотел. Проблема 1.) Будет ли он работать правильно все время? 2.) Я чувствую, что мой код кажется уродливым, и его можно улучшить.

0 ответов

Другие вопросы по тегам