網頁

2014年3月21日 星期五

PHP開發筆記-php中移除array元素要記得re-index

有時有些bug總來自於不了解使用的API或語言特性,這邊做個紀錄。

以下程式碼來自PHP Manual Language Reference Types > Arrays
<?php
// Create a simple array.
$array = array(1, 2, 3, 4, 5);
print_r($array);

// Now delete every item, but leave the array itself intact:
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// Append an item (note that the new key is 5, instead of 0).
$array[] = 6;
print_r($array);

// Re-index:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

結果如下:
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

光查這種bug,就花掉一個小時,真蠢

參考網址:
PHP Manual Language Reference Types > Arrays

沒有留言:

張貼留言