2017-08-28 66 views
0

當複選框字段有數據時,沒有錯誤。 當複選框字段沒有數據時,此調試錯誤:字段爲空時的Foreach錯誤

注意:數組到字符串轉換在/ var/www/html/1/wp-content/themes/understrap-child-master/loop-templates/content - 單networks.php上線152 陣列,

這裏是顯示覆選框代碼:

<?php $pays = get_post_meta($post->ID, 'net_payment', false); 
    if ($pays) { 
     echo "<tr><td class='tdlable'>Paymentddd</td><td class='tditem'>"; 
     foreach ($pays as $pay) { 
     echo $pay . ", "; 
     } ; 
     echo "</td></tr>"; 
} 
?> 

任何想法?我是否需要添加重置?這是在一個single.php頁面上。

+0

您應該使用implode函數。 –

+0

分享你在'$ pays'中得到什麼? – C2486

+0

在付款不爲空的帖子上,我看到:\t ACH,支付寶,比特幣,支票,借記卡,數字貨幣,EPayments,Paxum,Payoneer,Paypal,Skrill,Webmoney,Wire,得到這個錯誤:注意:數組到字符串轉換在/var/www/html/1/wp-content/themes/understrap-child-master/loop-templates/content-single-networks.php在線152 數組, – user2821847

回答

0

第三個參數是錯誤的,所以它會給你一個數組的結果。所以,你可以改變你的條件如下面避免通知:

if(!empty($pays)) { // YOUR CODE } 

或另一種選擇是,如果你有一個值,那麼你可以設置第三個參數爲真像:

$pays = get_post_meta($post->ID, 'net_payment', true); 

,然後做你的沒有foreach代碼,以避免額外的代碼:

if ($pays != "") { 
     echo "<tr><td class='tdlable'>Paymentddd</td><td class='tditem'>"; 
     echo $pay . ", "; 
     echo "</td></tr>"; 
} 

希望這能對你有幫助。謝謝。