Cheizer
@Cheizer

Как разделить элементы массива запятой?

Друзья подскажите как на выходе получить нужный результат.
Есть AJAX фильтр простой на сайте, суть не в нем, код упростил для понимания. Проблема в синтаксисе PHP.
Имеем несколько параметров для фильтрации, в примере их два mytv и event и прописаны жестко на деле они передаются формой, но не в этом суть), эти параметры добавляются в массив $filter для дальнейшего разбора и фильтрации по ним.

$_GET['mytv'] = '2017';
$_GET['event'] = 'old';

$filter = array();

if($_GET['event']) {
  $filter[] = 'event='.$_GET['event'];
}
if($_GET['mytv']) {
    $filter[] = 'mytv='.$_GET['mytv'];
}
if($filter) {
   foreach($filter as $key => $value)
  {
   $res = explode("=", $value);
   echo  $where = '{"'.$res[0].':=":"'.$res[1].'"}'; 
  }
} else {
	$where = '';
}
///...


Результатом работы это кода получается такой, возвращает массив с двумя ключами, все ок
Array
(
    [0] => event=old
    [1] => mytv=2017
)

И распечатывает нужный синтаксис для сниппета выборки CMS
{"event:=":"old"}{"mytv:=":"2017"}

А мне нужно получить такой синтаксис
{"event:=":"old","mytv:=":"2017"}

То есть если в массиве не один элемент разделять запятой записи, как это сделать?
  • Вопрос задан
  • 510 просмотров
Решения вопроса 2
@hecby_v
вот так например
if($filter) {
	$where = '';
   foreach($filter as $key => $value)
  {
   $res = explode("=", $value);
   if($where != ''){
       $where .= ',';
   }
   $where .= '"'.$res[0].':=":"'.$res[1].'"';
  }
  $where = '{' . $where . '}';
  echo $where
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы