-1
如何將下面的代碼(這是在foreach循環)時,通過相同的變量有時返回的東西,有時返回任何結果:PHP邏輯運算符
$term_id = 76;
$term_parent = 75;
if($term_id != 114 && $term_id != 115 && $term_parent != 83){
$term_link_content = 'something';
} else {
$term_link_content = 'nothing';
}
- 基於答覆迄今,全碼在下面。我基本上在第一個任期之後不等於任何列出的ID。我已經通過輸出$ term_id和$ term_parent來查看具有相同條款的不同帖子,因此我可以看到if語句正在傳遞相同的值,但有時$ term_link_content變量具有內容,而其他時間則爲空。
$posts = get_posts('post_type=products&product_categories=Best Sellers');
foreach($posts as $post){
$post_ID = $post->ID;
$terms = get_the_terms($post_ID, "product_categories");
$i = 0;
foreach($terms as $term){
$term_id = $term->term_id;
$term_parent = $term->parent;
$term_name = $term->name;
$term_slug = $term->slug;
if($term_id != 114 && $term_id != 115 && $term_parent != 83){
// only get the first
if(++$i > 1) break;
$term_text = $term_name;
$term_link = $url.'/shop/'.$term_slug;
$term_link_content = '<span class="term_text"><a class="'.$card_colour.'" href="'.$term_link.'">'.$term_text.'</a></span>';
} else { $term_link_content = ''; }
}
}
它不會。就那麼簡單。該代碼之外的事情正在發生。 – Wrikken
上面顯示的內容永遠不會產生不同的結果。問題必須在其他地方 –
它應該總是根據你寫的內容返回「某些東西」。如果沒有,其他事情正在發生。發佈更多代碼? –