2019-08-13 10:28:40 4294瀏覽
在做支付對(duì)賬的時(shí)候,需要檢查第三方支付與數(shù)據(jù)庫(kù)中賬單是否一一對(duì)應(yīng),本篇文章扣丁學(xué)堂PHP培訓(xùn)小編給讀者們分享一下PHP提取微信賬單的有效信息,感興趣的小伙伴就隨小編來(lái)了解一下吧。內(nèi)容涉及到微信對(duì)賬單的處理,微信賬單接口返回為一個(gè)字符串類(lèi)似如下結(jié)果。
程序需要實(shí)現(xiàn)的功能就是從這個(gè)字符串從提取每一筆訂單中的有效信息,參考代碼如下:
function deal_wechat_return_result($reponse) { $result = array(); $reponse = str_replace(","," ",$reponse); $reponse = explode("`",$reponse); $total_order_count =( count($reponse) - 6 ) / 24; for($i = 0; $i< $total_order_count; $i++) { $base_index = 24 * $i; $result[$reponse[$base_index + 7]] = array( 'wechat_order_no' => $reponse[$base_index + 6], 'order_count' => $reponse[$base_index + 13], 'order_discount' => $reponse[$base_index + 23] ); } return $result; }
主要的思路是微信賬單返回的結(jié)果格式是固定的,可以用 '`' 實(shí)現(xiàn)字符串的分割,然后每24個(gè) 字段為一個(gè)訂單的描述信息,最后6個(gè)字段為賬單的匯總信息。因此通過(guò)for 循環(huán)就可以遍歷整個(gè)賬單,代碼里面只取了我需要的字段,如果還需要其它的字段可按照此格式自行加入即可。
代碼還有以下幾點(diǎn)有待完善:
1、沒(méi)有考慮字符串特別大的情況,可能會(huì)導(dǎo)致php進(jìn)程分配的內(nèi)存耗盡,對(duì)于普通的商戶(hù)訂單,每天成交量不是特別大的情形是夠用的。
2、默認(rèn)了微信返回的格式是固化的,其實(shí)可以根據(jù)微信返回的字符串頭和尾進(jìn)行動(dòng)態(tài)的匹配。
想要了解更多關(guān)于PHP開(kāi)發(fā)方面內(nèi)容的小伙伴,請(qǐng)關(guān)注扣丁學(xué)堂PHP培訓(xùn)官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線(xiàn)學(xué)習(xí)教育有專(zhuān)業(yè)的PHP講師為您指導(dǎo),此外扣丁學(xué)堂老師精心推出的PHP視頻教程定能讓你快速掌握PHP從入門(mén)到精通開(kāi)發(fā)實(shí)戰(zhàn)技能。扣丁學(xué)堂PHP技術(shù)交流群:374332265。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】 【掃碼進(jìn)入Python全棧開(kāi)發(fā)免費(fèi)公開(kāi)課】
查看更多關(guān)于“php培訓(xùn)資訊”的相關(guān)文章>>