我正在尝试使用break概念,但我也在使用一些内置的PHP函数来仅允许某些值进入get函数。
$allowedKeys = array(
'route'
);
$options = array(
'chapter_1' => 'chapter_1',
'chapter_2' => 'chapter_2',
'chapter_3' => 'chapter_3'
);
$_GET = array_intersect_key($_GET, array_flip($allowedKeys));
if($_GET[$allowedKeys[0]] && array_key_exists($_GET[$allowedKeys[0]], $options)) {
if($_GET[$allowedKeys[0]] == $options[0]) {
/* This is where I'm trying to see if route=chapter_1 then do something.
The logic I'm trying to write is if the route is chapter_1 then print
out the content from chapter 1 How can determine this? */
echo "Hello";
}
}
为什么这段代码不回应“你好”?
答案 0 :(得分:2)
为什么要让它变得比它需要的更复杂?
//check you have a route
$route = isset( $_GET['route'] ) ? $_GET['route'] : '';
switch( $route ) {
case 'chapter_1':
//do chapter one stuff
echo 'Chapter 1';
break;
case 'chapter_2':
//do chapter two stuff
echo 'Chapter 2';
break;
default:
echo 'Intro';
}
答案 1 :(得分:0)
我会直接回答你的问题。 “Hello”没有显示,因为它位于if语句中,因为“if($ _ GET [$ allowedKeys [0]]&& array_key_exists($ _ GET [$ allowedKeys [0]]” $ options))“或”if($ _ GET [$ allowedKeys [0]] == $ options [0])“返回false。