2017-09-19 3 views
-2

Ich bin neu in PHP kann mir bitte helfen, JSON in PHP zu analysieren.PHP wie JSON zu analysieren

Hier sind meine Daten. Ich möchte den Status erhalten, der unter 'transaction_details' Array vorhanden ist.

Array (
    [status] => 1 
    [msg] => 1 out of 1 Transactions Fetched Successfully 
    [transaction_details] => Array (
     [3685189ee69337520311] => Array (
      [mihpayid]   => 403993715516628289 
      [request_id]   => 
      [bank_ref_num]  => 3808401291372621 
      [amt]    => 51000.00 
      [transaction_amount] => 51000.00 
      [txnid]    => 3685189ee69337520311 
      [additional_charges] => 0.00 
      [productinfo]  => OasisEstate 
      [firstname]   => Test 
      [bankcode]   => CC 
      [udf1]    => 
      [udf3]    => 
      [udf4]    => 
      [udf5]    => 
      [field9]    => SUCCESS 
      [error_code]   => E000 
      [card_type]   => VISA 
      [error_Message]  => NO ERROR 
      [net_amount_debit] => 51000 
      [disc]    => 0.00 
      [mode]    => CC 
      [PG_TYPE]   => HDFCPG 
      [card_no]   => 401200XXXXXX1112 
      [name_on_card]  => Neeraj 
      [udf2]    => 
      [addedon]   => 2017-09-19 13:23:58 
      [status]    => success 
      [unmappedstatus]  => captured 
      [Merchant_UTR]  => 
      [Settled_At]   => 0000-00-00 00:00:00 
     ) 
    ) 
) 

Vielen Dank im Voraus.

+0

benötigen Sie, um dieses Array übergeben, um einen Wert von ihm JSON oder zu bekommen? –

+0

Sie können einfach eine beliebige Schleife verwenden, um Details aus dem Array abzurufen. –

+1

bitte klar, das ist nicht json, noch ist es der var_export von php (kein Komma) – Jakumi

Antwort

1

Sie nicht json benötigen, wenn Sie bereits über ein Array

nur $array['transaction_details']

+1

$ array ['status'] ist ein String, kein Array – zerokavn

2

Versuchen Sie Folgendes verwenden:

$ array echo [ 'transaction_details'] [3685189ee69337520311] [‘ Status']

+0

In der Tat, $ array ['transaction_details'] ['status'] ist undefined – zerokavn

+0

mein Beitrag aktualisiert –

0

ich nehme Ihre Dump von einem json var $ kommt:

<?php 
foreach($json['transaction_details'] as $key => $details) { 
    echo 'status for ' . $key .': ' . $details['status']; 

} 
?> 

Ich benutzte die foreach, um das Problem zu lösen, den Schlüssel des Feldes nicht zu kennen. Wie ich der Schlüssel annehmen wird anders sein für jede json Nachricht empfangen

+0

Nicht eine beste, aber das ist richtig. – zerokavn

0

array_pop() kann helfen,

$item = array_pop($array['transaction_details']); 
echo $item['status']; 
+0

Dies liefert keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag. - [Aus Bewertung] (/ review/low-quality-posts/17376220) – FluffyKitten

+0

du willst mich verarschen ??? =)) – zerokavn

+0

Ihre Antwort wurde von der Community als minderwertig gekennzeichnet (beachten Sie, dass sie "Aus Review" hinzugefügt wurde). Sie sagen, dass "array_pop() * may * help" - daher ist dies eher ein Vorschlag als eine vollständige und vollständige Antwort. Wenn Sie einen Grund zu der Annahme haben, dass dies funktioniert, bearbeiten Sie Ihre Antwort bitte, um zu erklären, warum. Code-only-Antworten werden nicht empfohlen, weil sie nicht erklären, wie sie das Problem in der Frage lösen. Bitte lesen Sie [Wie schreibe ich eine gute Antwort] (https://stackoverflow.com/help/how-to-answer) – FluffyKitten