如何用自己的文本替换某些PHP值?
以下是我的PHP代码:如何用自己的文本替换某些PHP值?,php,arrays,string,wordpress,replace,Php,Arrays,String,Wordpress,Replace,以下是我的PHP代码: $order_data = array( 'shipping_method' => $order->get_shippingmethod(), ); $order_data = array( 'shipping_method' => $order->get_shipping_method(str_replace('Free Shipping', 'Free', $str)) ); 'shipping\u method'值当前正在
$order_data = array(
'shipping_method' => $order->get_shippingmethod(),
);
$order_data = array(
'shipping_method' => $order->get_shipping_method(str_replace('Free Shipping', 'Free', $str))
);
'shipping\u method'值当前正在导出以下三个值:
- “免费送货”
- “联邦快递地面”
- “UPS次日航空”
$shipping_method = $order->get_shipping_method();
if ( $shipping_method === 'Free Shipping' ) {
$shipping_method = 'Free';
} elseif ( $shipping_method === 'FedEx_GROUND' ) {
$shipping_method = 'FedEx';
} elseif ( $shipping_method === 'UPS Next Day Air' ) {
$shipping_method = 'UPS';
}
$order_data = array(
'shipping_method' => $shipping_method,
);
- “免费送货”=“免费”
- “联邦快递地面”=“联邦快递”
- “UPS次日空气”=“UPS”
$order_data = array(
'shipping_method' => $order->get_shippingmethod(),
);
$order_data = array(
'shipping_method' => $order->get_shipping_method(str_replace('Free Shipping', 'Free', $str))
);
这显然不起作用,任何帮助都将不胜感激
我使用的插件是由WooThemes创建的订单/客户CSV导出器:
冗长的方式:
很接近……但我会简化一点,放弃str\u replace()
。我会做如下的事情:
$shipping_method = $order->get_shipping_method();
if ( $shipping_method === 'Free Shipping' ) {
$shipping_method = 'Free';
} elseif ( $shipping_method === 'FedEx_GROUND' ) {
$shipping_method = 'FedEx';
} elseif ( $shipping_method === 'UPS Next Day Air' ) {
$shipping_method = 'UPS';
}
$order_data = array(
'shipping_method' => $shipping_method,
);
但是,无法保证更改装运方法值不会破坏依赖于它的其他内容
一个班轮备选方案:
您还可以使用(假设delimeter始终是空格或下划线)进一步简化此操作。这完全消除了对上述if/elseif
条件的需要:
$order_data = array(
'shipping_method' => preg_split('/[\ _]/', $order->get_shipping_method())[0],
);
这正是我想要的解决方案。又好又简单。运输方式不依赖于它,所以不用担心损坏东西。你真的救了我这么多时间。我真是太感谢你了。我喜欢这个网站,喜欢你的人!谢谢@MattBeckman还补充了另一个答案,即在一行中完成这一切。不需要丑陋的
if/elseif
语句。