如何从PHP的字符串中获取表达式?

时间:2018-09-28 15:15:03

标签: php string

请问,如何从字符串中提取表达式? 例如,我在下面有这个字符串:

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);,但没有得到想要的东西。请帮忙。
谢谢。

2 个答案:

答案 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);

look at explode() documentation in PHP.net