请问,如何从字符串中提取表达式? 例如,我在下面有这个字符串:
RECEIPT_NO = 5001809252729& PAYMENT_CODE = 500858991537884262034 &MERCHANT_CODE = 0350000AFT&TRANS_AMOUNT = 42990.0&TRANS_DATE = 2018/09/25 14:04:28&TRANS_DESCR = Victor-300%20Level%20-001-
我想做的是将用户输入的值与粗体值进行比较 如何使用PHP进行操作?
我曾经尝试使用str_split('/[&]/', $string);
,但没有得到想要的东西。请帮忙。
谢谢。
答案 0 :(得分:2)
您有一个标准HTTP“查询字符串”格式的字符串(以百分比编码和&
分隔的key = value对)。处理它的最简单方法是使用PHP内置的parse_str()函数:
$items = [];
parse_str($string, $items);
echo $items["PAYMENT_CODE"];
如果此功能不存在,则可以重新实现;
$items = [];
foreach (explode("&", $string) as $item) {
list($key, $val) = explode("=", $item, 2);
$items[urldecode($key)] = urldecode($val);
}
答案 1 :(得分:0)
您必须在PHP中使用explode()
;
在这种情况下:
$str = 'RECEIPT_NO=5001809252729&PAYMENT_CODE=500858991537884262034&MERCHANT_CODE=0350000AFT&TRANS_AMOUNT=42990.0&TRANS_DATE=2018/09/25 14:04:28&TRANS_DESCR=Victor-300%20Level%20-001-';
$arrayOfVars = explode('&',$str);