繁体   English   中英

使用PHP解析JSON回调中的数据

[英]parse data from JSON callback using PHP

我从付款网站收到回调数据,并尝试将一些值保存到txt文件中

获取数组:

$json = file_get_contents('php://input');

$obj = json_decode($json,true);

将所有数据保存到txt:

file_put_contents('robot.php', var_export($obj, true) . "\\r\\n\\r\\n", FILE_APPEND | LOCK_EX);

txt的结果:

array (
  'rrn' => '',
  'masked_card' => '444455XXXXXX1111',
  'sender_cell_phone' => '',
  'response_status' => 'success',
  'sender_account' => '',
  'fee' => '',
  'rectoken_lifetime' => '',
  'reversal_amount' => '0',
  'settlement_amount' => '0',
  'actual_amount' => '370000',
  'order_status' => 'approved',
  'response_description' => '',
  'verification_status' => '',
  'order_time' => '04.01.2018 21:53:47',
  'actual_currency' => 'JPY',
  'order_id' => 1515095627',
  'parent_order_id' => '',
  'merchant_data' => '[{"name":"custom-field-0","label":"fist_name","value":"john_doe"},{"name":"custom-field-2","label":"phone","value":"07777777777"}]',
  'tran_type' => 'purchase',
  'eci' => '5',
  'settlement_date' => '',
  'payment_system' => 'card',
  'rectoken' => '',
  'approval_code' => '56783909',
  'merchant_id' => 14066776208,
  'settlement_currency' => '',
  'payment_id' => 7487818gg3,
  'product_id' => '',
  'amount' => '370000',
  'sender_email' => 'admin@none.in.ua',
)

如何从嵌套数组“ merchant_data”(名字和电话)中保存单独的txt值?

您可以创建新数组并将其保存到文件中:

$json = file_get_contents('php://input');
$obj = json_decode($json,true);
$save = [];
foreach ($obj['merchant_data'] as $data){
    $save[] = [
        'name' => $data['first_name'],
        'phone' => $data['phone'],
    ];
}
file_put_contents('robot.php', var_export($save, true) . "\r\n\r\n", FILE_APPEND | LOCK_EX);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM