2013-03-19 47 views
0

我需要一些幫助,看看我哪裏出錯了。如何在PHP函數中添加另一個頁面ID - 新手問?

我想一個頁面ID添加到這種原始的功能:

<?php if($post->ID != '91') 
    { 
     get_sidebar(); 
    } ?> 
> 

也排除了ID 1267 我想這一點,沒有成功。

<?php 
    $pageIDs_to_exclude=array("91","1267"); 

    if($post->ID != $pageIDs_to_exclude) 
    { 
     get_sidebar(); 
    } 
?> 

當然必須有更好的方法來做到這一點?或者我錯過了什麼? Thnaks任何幫助 /安德斯

+0

你不能直接比較的數組。你必須循環。 – 2013-03-19 18:33:09

+0

謝謝所有花時間回答我的人。你一直是最有幫助的! – 2013-03-19 18:40:31

回答

3

您正在嘗試直接比較$post->ID$pageIDs_to_exclude,一個數組。由於$post->ID不是數組(它是一個字符串),所以這是不可能的。相反,看看$post->ID是否在$pageIDs_to_exclude

if (!in_array($post->ID, $pageIDs_to_exclude)) { 

    get_sidebar(); 

} 

in_array()是如果對象的陣列中發現,將返回true的功能。

+0

不僅感謝你的代碼,而且我甚至可以理解(某種程度上)的解釋。 – 2013-03-19 18:41:38

5
$pageIDs_to_exclude = array("91","1267"); 

// in_array will return false if it doesn't find $post->ID within the $pageIDs_to_exclude array 
if(! in_array($post->ID, $pageIDS_to_exclude)) 
{ 
    get_sidebar(); 
} 
1

您可以使用PHP的in_array。它會返回true或false。

$pageIDs_to_exclude=array("91","1267"); 

if(!in_array($post->ID,$pageIDs_to_exclude)) 
{ 
    get_sidebar(); 
} 
1

使用PHP函數in_array()http://php.net/manual/en/function.in-array.php)在數組中搜索一個值:

<?php 
    $page_ids = array("91", "1271"); 
    if(!in_array($post->ID, $page_ids)) 
    { 
    get_sidebar(); 
    } 
?> 
+0

太棒了!謝謝。發現! – 2013-03-19 18:41:00

相關問題