我對PHP的implode函數有非常非常奇怪的問題。令人驚訝的是,它向數組元素中的一個添加了一些白色字符(空格)。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
}
爲什麼它有添加這些空間?它是一些已知的內爆函數的bug嗎?
謝謝!
你確定這些字符不存在於你原來的數組中嗎? –
它不這樣做。可能只是一些(隱藏)字符串中的字符。 – PeeHaa
我們可以得到原始數組嗎?和'$ where'的前一個值 – Adi