以下代碼可以正確使用提供的數組。使用array_diff錯誤輸出
$arr1 = array(1,2,4,6,7,9,13,15);
$arr2 = range(1,max($arr1));
$missing = array_diff($arr2,$arr1);
foreach ($missing as $key => $val) {
echo $val;
echo ",";
}
但是,如果我改變$ ARR1包含001,002,004,006,007,009,013,015,它給出了這樣的輸出:003,005,008,009,010,012,
我將這個標籤在foreach循環中格式化輸出:
$val = str_pad($val, 3, "0", STR_PAD_LEFT);
我想不通爲什麼它宣佈009失蹤;爲什麼它沒有宣佈011和014失蹤;以及爲什麼它以逗號結尾。
有沒有辦法重寫代碼,以便正確處理數組?
有沒有辦法重寫代碼,以便正確處理數組? – Benjamin