Есть массив (это для примера - количество полей "title" не известно):
$array = array(
0=>array('title'=>'Название'),
1=>array('title'=>'Название 2')
);
нужно его разбить на строку в виде:
$str = 'Название","Название 2';
Делаю это для того, что бы выбирать в БД SQL определенные название полей "title"
$query = 'SELECT `title` FROM `таблица` WHERE `title` IN ("'.$str.'")';
Может есть ещё какие то идеи по выборке если есть массив $array???
Invis1ble
20.04.2015 - 21:02
ну нормальный вариант
кавычки только двойные в запросе на одинарные поменяй
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
vagrand
20.04.2015 - 21:02
есть mysql функция group_concat
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Invis1ble
20.04.2015 - 21:08
Цитата (Invis1ble @ 20.04.2015 - 21:08) |
а, я поля в селекте не посмотрел |
я не могу поля в массиве преобразовать в строку! есть идея implode и цикл, но я не могу это реализовать, вот и спрашиваю?
Invis1ble
20.04.2015 - 21:50
$string = "'" . implode("','", array_map(function ($item) {
return $item['title'];
}, $array)) . "'";
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Цитата (Invis1ble @ 20.04.2015 - 21:50) |
$string = "'" . implode("','", array_map(function ($item) { return $item['title']; }, $array)) . "'"; |
намутил вот такой код:
$str = '';
foreach ($array as $value) {
if ( is_array($value) && isset($value['title']) ) {
$str .= '","'.$value['title'];
}
}
echo substr($str,3);
Даже не знаю что будет оптимальней - Ваш код, или мой)
Цитата (Invis1ble @ 20.04.2015 - 21:50) |
$string = "'" . implode("','", array_map(function ($item) { return $item['title']; }, $array)) . "'"; |
Думаю вот этот код будет самый оптимальный)
foreach ($array as $item) {
$result[] = $item['title'];
}
echo implode('","', $result);