@TechNOIR

PHP. Как очищать массив цикле?

Добрый день.
Подскажите пожалуйста. Как очищать массив цикле?
Имеется такой код:
<?php
        $host = 'localhost';
        $dbname = 'emr3';
        $user = 'root';
        $pass = '****';
     $result = ''; 
          $DBH = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass); 
 
          //$query = "SELECT * FROM services";
		  $query = "SELECT * FROM tevents";
    
          $STH = $DBH->query($query);  
		$test = array();
        $STH->setFetchMode(PDO::FETCH_ASSOC);
		while($row = $STH->fetch()) {
			$tmp = array();
			//echo $row['serv_id'];
			$temp = explode(",", $row['serv_id']);
			//var_dump ($temp);
				foreach ($temp as $key => $value){
				//echo $t;
				$quer = "SELECT * FROM services WHERE ID='".$value."'";
				$ST = $DBH->query($quer); 
				$ST->setFetchMode(PDO::FETCH_ASSOC);
					while($rw = $ST->fetch()){
					$test[] = $rw['servname'];
					}
				}
				//var_dump ($test);
				$result = implode(",", $test);
				echo $row['event_id']." ".$row['event_name']." ".$row['start_date']." ".$row['end_date']." ".implode(",", $test)."<br>";
		}
?>


У $result плавующее значение в зависимости от запроса. Данный код выдает значения, но $result не очищается и плюсует старое значение к новому.
Сейчас получается так:
199 1111 2018-05-29 15:30:55 2018-05-29 15:30:55 Услуга1,Услуга2
198 Курлык 2018-05-23 08:50:00 2018-05-23 08:50:00 Услуга1,Услуга2,Услуга2,Услуга3
197 2018-05-23 08:50:00 2018-05-23 11:45:00 Услуга1,Услуга2,Услуга2,Услуга3,Услуга1,Услуга3,Услуга2


А должно быть:
199 1111 2018-05-29 15:30:55 2018-05-29 15:30:55 Услуга1,Услуга2
198 Курлык 2018-05-23 08:50:00 2018-05-23 08:50:00 Услуга2,Услуга3
197 2018-05-23 08:50:00 2018-05-23 11:45:00 Услуга1,Услуга3,Услуга2


Спасибо заранее за помощь!
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
while($row = $STH->fetch()) {
это цикл по всем кортежам ответа.
сразу после этой строчки добавьте
$test = [];
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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