2017-01-12 2 views
0

У меня есть лопаются такой код:Implode массив PHP

$date_condition = implode(" AND a.date = ",$date_interval); 

Этот массив выглядит следующим образом:

$date_interval = Array('2017-01-24','2017-01-25','2017-01-26'); 

Это то, что я хочу, чтобы ожидать, стал выход:

$date_condition = "'2017-01-24' AND a.date = '2017-01-25' AND a.date = '2017-01-26' "; 

Но из моего кода, который я пытался, я просто получаю вывод следующим образом:

$date_condition = "2017-01-24 AND a.date = 2017-01-25 AND a.date = 2017-01-26"; 

Как я могу это сделать?

спасибо.

+1

Дубликат [это] (http://stackoverflow.com/questions/10490860/php-implode-but-wrap-each-element-in- цитаты) Вопрос? –

+1

Возможный дубликат [PHP Implode But Wrap Every Element In Quotes] (http://stackoverflow.com/questions/10490860/php-implode-but-wrap-each-element-in-quotes) – Xorifelse

ответ

0

Попробуйте это:

$date_interval = Array('2017-01-24','2017-01-25','2017-01-26'); 
$date_condition ="'". implode("' AND a.date = '",$date_interval)."'"; 
echo $date_condition; 

DEMO HERE

0

Либо изменить массив:

$date_interval = Array("'2017-01-24'","'2017-01-25'","'2017-01-26'"); 

Петля через него:

foreach($date_interval as $k => $v){ 
    $date_interval[$k] = "'$v'"; 
} 

Создание функции:

function quotate(array $list){ 
    foreach($list as $v){ 
    $ret[] = "'$v'"; 
    } 

    return $ret; 
} 

$date_condition = implode(" AND a.date = ",quotate($date_interval)); 

Или сделать это, добавив кавычки в этом ' AND a.date = ' строку, но Сучит избил меня.

Смежные вопросы