У меня очень, очень странная проблема с функцией взлома PHP. Это удивительно добавляет некоторые белые символы (пробелы) к одному из элементов массива.PHP implode странно добавляет к его выводам белые символы - почему?
Вот мой код:
$cities = array(...,5792753,...);
$where .= ' AND gr.geo_city IN(' . implode(',', $cities) . ') ';
//it displays something like: ... AND gr.geo_city IN(...,5 792753,...)
//but it should display: ... AND gr.geo_city IN(...,5792753,...)
//PLEASE NOTE SPACES IN THE EXAMPLE ABOVE!!
echo $where;
Я сделал некоторые отладки и, кажется, что исходные значения не содержат никаких белых символов. Вот код, который я использовал для его проверки:
foreach($cities as $ct)
{
if(strpos($ct,'792753') !== FALSE)
echo $ct;//it displays 5792753, not 5...792753
}
Зачем оно добавляет эти места? Это какая-то известная ошибка функции implode?
Спасибо!
Вы уверены, что эти символы не существуют в вашем исходном массиве? –
Это не так. Вероятно, некоторые (скрытые) символы в строке. – PeeHaa
можем ли мы получить исходный массив? и предыдущее значение '$ where' – Adi