亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何防止foreach PHP中的重復項

如何防止foreach PHP中的重復項

嚕嚕噠 2022-12-23 14:45:50
我正在嘗試將客戶訂單備注字段移動到另一個字段組,但由于其他插件覆蓋,我也需要覆蓋 WooCommerce 模板文件,因此我需要移動此代碼:foreach ( $checkout->get_checkout_fields( 'order' ) as $key => $field ) :    woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); endforeach;從:“ mytheme/woocommerce/checkout/form-shipping.php ”到:“ mytheme/woocommerce/checkout/review-order.php ”?,F在我得到了重復的字段,如何防止 foreach 循環中的重復?
查看完整描述

2 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

您可以維護一個array以跟蹤您已經看到的字段,這樣它們就不會被再次添加。


$fields_seen = [];

foreach ( $checkout->get_checkout_fields( 'order' ) as $key => $field ) :

    if(!in_array($field, $fields_seen)) {

        woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); 

        $fields_seen[] = $field;

    }

endforeach;


查看完整回答
反對 回復 2022-12-23
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

您可以使用 array_unique() 您的代碼將如下所示:

foreach ( array_unique($checkout->get_checkout_fields( 'order' )) as $key => $field ) : 
  woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); 
endforeach;


查看完整回答
反對 回復 2022-12-23
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號