今天 遇到了個很有趣的問題
$arr = array(array(1,23),array(1,23),array(1,23));
var_dump($arr);
print_r(json_encode($arr));
echo '<br/>';
foreach($arr as $k=>$v)
{
if ($k == 1)
{
unset($arr[$k]);
}
}
var_dump($arr);
print_r(json_encode($arr));die;
這段代碼執行完後的結果是
可以看到 unset後 在json_encode數據格式變了,研究了下, 大概是因爲數組 被從中間去掉了個元素 爲了保證數組的元素順序被加上了數字key這樣,以確認去掉了一個元素 二不使key發生變化可以看 綠色部分, 那麼 怎麼解決呢 只需一行代碼搞定
在foreach之後加
$arr = array_values($arr);
將數組重新索引了下 就好了