我搜索了很多,除了寫更大的代碼之外,找不到任何解決方案。 我需要的是,只有在設置了兩個$ btn_字符串之一時才輸出。PHP沒有處理OR中的第二個條件
在當前的狀態,如果$btn_orange = get_field('btn_orange')
equeals真, ($btn_black = get_field('btn_black')
未被處理而get_field('btn_black')
返回一個好的值。
總之:$btn_black
沒有設置,如果$btn_orange
是。
這是我當前的代碼:
<?php if(($btn_orange = get_field('btn_orange')) || ($btn_black = get_field('btn_black'))): ?>
<div class="buttons">
<?php if($btn_orange && ($btn_orange_url = get_field('btn_orange_url'))): ?>
<a class="btn btn-lg btn-primary" href="<?php echo $btn_orange_url; ?>"><?php echo $btn_orange; ?></a>
<?php elseif($btn_orange): ?>
<span class="btn btn-lg btn-primary"><?php echo $btn_orange; ?></span>
<?php endif;?>
<?php if($btn_black && ($btn_black_url = get_field('btn_black_url'))): ?>
<a class="btn btn-lg btn-black" href="<?php echo $btn_black_url; ?>"><?php echo $btn_black; ?></a>
<?php elseif($btn_black): ?>
<span class="btn btn-lg btn-black"><?php echo $btn_black; ?></span>
<?php endif;?>
</div>
<?php endif; ?>
現在我可以在單獨的if塊分開btn_orange
和$btn_black
。 但我需要<div class="buttons">
輸出如果其中一個或兩個都設置get_field()
的值。
我可以在第一條if語句中完成此操作嗎?
編輯:問題解決了。我不應該在IF
聲明中加入類似$x = func($parameter)
的內容,而是首先按照dougtesting.net指出的先填充字符串。
響應你知道你正在使用=(賦值運算符) (非嚴格比較運算符),對嗎? – GordonM