我有一點麻煩了解這個bug。 下面是代碼:繼續不會循環開始
function filter_optionsfordash(array $data,$dash) {
$filtered_options = array();
$len = strlen($dash);
foreach ($data as $k => $value) {
if (substr($k,0,$len) === $dash) {
$option_name = trim(str_replace($dash . '_','',$k));
switch ($option_name) {
case 'displayColumns':
$value = explode(',',$value);
break;
case 'dashletTitle':
$option_name = 'title';
break;
case 'id':
case 'module':
case 'action':
case 'configure':
case 'to_pdf':
continue;
break;
}
$filtered_options[$option_name] = $value;
}
}
return $filtered_options;
}
我想在這裏做的是從給定陣列過濾一些值(在這種情況下,這將是$_POST
)與給定的名稱($dash
)開始,但我想過濾掉'id','module','action','configure'或'to_pdf'。
所以,我想會的工作是「繼續」。由於switch語句不是循環,因此'continue'應該到循環的開頭(foreach),但顯然這不會發生。我仍然獲得陣列中不想要的鍵名。
我已經找到了解決方案,通過改變碼了一點,但我真的想明白爲什麼這是行不通的。
「繼續」應該送我回的foreach!
媽的,太快對我來說:d +1 – 2009-12-07 16:02:49
隨機排序順序並不完全解決「問題」快速upvoted答案,但; - ) – VolkerK 2009-12-07 16:12:36
:(我讀了手冊大聲笑,錯過了nota。謝謝 – AntonioCS 2009-12-07 16:25:35