我正在编写一个脚本来读取事务完成后从支付网关给出的响应。 http://docs.merchee.com/api/push-notifications/index.html
我得到的示例数据是
$received_values = "
status_code PAID
subtotal 10
success_redirect http://site.com/thanks
tax_total 0
total_price 10
transaction_amount 10
transaction_date 07/24/2012
transaction_nmb 101888
transaction_time 12:43:52
zip 12345
";
我专门寻找行transaction_nmb
和status_code
。
我想我会这样做:
$received_values = (array) stripslashes_deep( $_POST );
但我仍然坚持要如何确认它...... in_array
?
谢谢。
答案 0 :(得分:0)
因为看起来$ received_values是换行符分隔的字符串,也许你可以使用这个正则表达式(未经测试)来获取值?
preg_match_all('/status_code\s(\w+).+transaction_nmb\s(\d+)/',$received_values, $matches);
// PAID should be in $matches[1]
// 101888 should be in $matches[2]
答案 1 :(得分:0)
按换行符爆炸(爆炸不是最有效但会有所帮助。
$array = explode('\n', $received_values);
这将为每行提供一个数组。
$array[0] //status_code PAID
然后你可以通过再次拆分或使用php解析函数之一来寻找答案。