我試圖把一個foreach()
在交換機內。但我得到了以下錯誤代碼:開關()和foreach()問題在php
Parse error: syntax error, unexpected 'foreach' (T_FOREACH), expecting case (T_CASE) or default (T_DEFAULT) or '}' in /.../index.php on line 20
我現在是$_GET['']
$dir = 'content/'.$lang;
$scan = array_diff(scandir($dir), array('..','.'));
switch($page) {
foreach ($scan as $value){
$value_ext_free = pathinfo($value, PATHINFO_FILENAME);
case $value_ext_free :
$page = $value_ext_free;
break;
}
default :
$page = 'welcome';
}
似乎很合乎邏輯的我得到$lang
價值,但我不是一個PHP專家...任何想法?
編輯
我只是這個更新我的代碼:
$dir = 'content/'.$lang;
$scan = array_diff(scandir($dir), array('..','.'));
foreach ($scan as $value){
$value_ext_free = pathinfo($value, PATHINFO_FILENAME);
}
if($page == $value_ext_free) {
include 'content/'.$lang.'/'.$page.'.php';
}
else {
include 'content/'.$lang.'/welcome.php';
}
這幾乎是除了只有我的文件夾的最後一頁是工作在內容...工作:/
Thankssss! :) Katsele
你需要指定交換機的foreach部分的情況。 http://php.net/manual/en/control-structures.switch.php – Maximus2012
'switch($ page){case「something」: foreach($ scan as $ value){' – Maximus2012
'case $ value_ext_free:'應該在foreach之外(與'break;'一起) – Maximus2012