如何动态设置if和elseif条件?

时间:2013-01-16 21:11:52

标签: php

一般来说,我以前做的就是这个

if($_GET['page'] == 'hello') { //This page is always there
   echo 'hello';
} elseif($_GET['page'] == 'world') {
   echo 'world';
} elseif($_GET['page'] == 'demo') {
   echo 'demo';
}

但是现在我正在动态地从我的数据库中获取这些页面名称,那么如果动态检索名称,如何设置这样的内容呢?因此,当我将页面名称检索为

时,我可以如何制作类似的内容

demo1demo2demo3

2 个答案:

答案 0 :(得分:1)

这样的东西?

if ($_GET['page'] == 'hello') {
    echo 'hello';
} else {
    $pagesFromDatabase = array();
    foreach ($pagesFromDatabase as $page) {
        if ($page['slug'] == $_GET['page']) {
            // do something with page
        }
    }
}

这假设$pagesFromDatabase是一个关联数组,每行包含键' slug'提到可能的页面' $ _GET中的参数。

如果您指的是Wordpress,则可以检索如下页面:

get_page_by_path($_GET['page']);

http://codex.wordpress.org/Function_Reference/get_page_by_path

答案 1 :(得分:0)

您可以使用以下内容:

$page = array('hello');
#database loop
$page[] = $row[your_page_row];
#end database loop

if(in_array($_GET['page'], $page){#for strict comparison in_array($_GET['page'], $page, true);
    echo $_GET['page'];#you might need to use something like htmlspecialchars();
}