当表“ home”或“ reload”中没有键时,我想执行操作
现在我有类似的东西,但是它不起作用
$pages = array();
$sql = "SELECT page_name FROM pages";
$result = $con->query($sql);
while($row = $result->fetch_assoc()) {
$pages[] = $row;
}
$page = $_GET['page'];
if( !in_array( $page ,$pages ) )
{
$_GET['page'] = 'home';
}
$ pages []结果:
Array (
[0] => Array ( [page_name] => Home )
[1] => Array ( [page_name] => reload)
答案 0 :(得分:2)
您称“键”为“值”。只是要清楚,避免错误。您正在将MySQL结果作为数组加载到数组。要使您的代码有效,只需更改:
$result = $con->query ( "SELECT `page_name` FROM `pages`");
$pages = array();
while ( $row = $result->fetch_assoc ())
{
$pages[] = $row["page_name"];
}
if ( ! in_array ( $_GET["page"], $pages))
{
$_GET["page"] = "home";
}
答案 1 :(得分:0)
您应该使用isset()
。在这里查看原因:what is faster: in_array or isset?。
如果要使用2d数组,请参见:http://sandbox.onlinephpfunctions.com/code/f12fbc6a922fc8583b83534642ef652a4a123010
我更喜欢Ernani Azevedo的答案
继续编码