2013-02-26 65 views
1

我懷疑有in_array函數的問題。我看了很多時間文檔,測試它,始終把同樣的事情追加函數php in_array不要像在乾草堆針陣列

這裏是一個工作代碼:

$tohide = '141'; 
$objterm = wp_get_object_terms($post->ID, 'product_cat'); 
global $catlist; 
$catlist = array(); 
foreach ($objterm as $singleterm) { 
    array_push($catlist, $singleterm->term_id); 
} 
if (!in_array($tohide,$catlist)) { 
    woocommerce_get_template_part('content', 'product'); 
} 

那塊代碼輸出的所有項目,但141類...爽,工作精... 現在,我想獲得一個數組作爲項目隱藏

$tohide = array('141','134'); 
$objterm = wp_get_object_terms($post->ID, 'product_cat'); 
global $catlist; 
$catlist = array(); 
foreach ($objterm as $singleterm) { 
    array_push($catlist, $singleterm->term_id); 
} 
if (!in_array($tohide,$catlist)) { 
    woocommerce_get_template_part('content', 'product'); 
} 

這不工作......這一切輸出...不過濾任何我試圖隱藏的項目。

現在的問題是...如何顯示不在數組中的每個項目以隱藏...我不知道!也許另一個PHP功能呢?

回答

1

您可以使用array_intersect

if(!array_intersect($tohide, $catlist)){ 
    ... 
} 

你會從$tohide存在於$catlist(空數組將評估爲false)

+0

變化的建議得到任何元素的數組,做工精美, , 謝謝 – menardmam 2013-02-26 01:04:59