PHP開發者應該對 print_r() 不陌生,可以直接在瀏覽器中吐出Array中的結構,在Debug時邦很大的忙,但有一種情境是 SERVER 端被動接收 API 的回傳值,可能是一個POST,但我想了解這API回傳的值是否正確,於是寫了一個Log檔去紀錄,但Array直接寫入Log,會把Array強制轉型成字串,變成 “Array” 字串,還是無法知道Array裡面傳了什麼值,print_r()其實還有第二個參數,設定第二個參數,可以把Array 輸出的文字轉成字串,這樣我們就可以很容易地在Log中清楚地看見POST回傳值了。
範例:
$var = print_r($arr, true);
寫在Log忠誠這樣:
[2018-03-11 18:34:06]tset
[2018-03-11 18:48:39]Array
(
[CustomField1] =>
[CustomField2] =>
[CustomField3] =>
[CustomField4] =>
[MerchantID] => 2000132
[MerchantTradeNo] => 1520765300
[PaymentDate] => 2018/03/11 18:48:38
[PaymentType] => WebATM_BOT
[PaymentTypeChargeFee] => 5
[RtnCode] => 1
[RtnMsg] => 交易成功
[SimulatePaid] => 0
[StoreID] =>
[TradeAmt] => 2000
[TradeDate] => 2018/03/11 18:48:19
[TradeNo] => 1803111848192948
[CheckMacValue] => AF663A711138967263DD625549D84BF684343BEC7527A2E76759133FF93F6A87
)