3v4l.org

run code in 500+ PHP versions simultaneously
<?php $json = '{ "data": [{ "approved": null, "approved_user_id": null, "boxes": [], "created": "2020-05-19T21", "created_at": "2020-05-19T21", "edited": null, "edited_in_affiliate": null, "edited_in_hdr": null, "edited_in_web_app": null, "erp_project_id": null, "error_description": "", "header_fields": [{ "boxes": [], "code": "creditor_number", "data_type": "", "error": "", "feature_id": "nvnnn", "value": "hhhhh" }, { "boxes": [], "code": "payment_account_number", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "order_number", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "total_amount_incl_vat", "data_type": "", "error": "", "feature_id": "mmm", "value": "hhh" }, { "approved": null, "approved_user_id": null, "boxes": [], "created": "2020-05-19", "created_at": "2020-05-19", "edited": null, "edited_in_affiliate": null, "edited_in_hdr": null, "edited_in_web_app": null, "erp_project_id": null, "error_description": "", "header_fields": [{ "boxes": [], "code": "reference", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "payment_swift_bic", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "recipient_vat_reg_no", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "joint_payment_id", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "catalog_debitor_id", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "case_number", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "payment_account_number", "data_type": "", "error": "", "value": "" }, { "boxes": [], "code": "payment_iban", "data_type": "", "error": "", "value": "" } ], "id": "00000", "image": "https://skkkkkllllllllll", "line_items": [], "note": "", "organization_id": 11111, "organization_voucher_id": 7777, "page_count": 1, "status": "successful", "type": "voucher", "upload_type": "affiliate", "uploaded_by_user_id": "0000001", "user_payment_method": "", "user_voucher_type": "" } ] }], "meta": { "count": 2 } }'; // IMPORTANT: feature_ids, ids, uploaded_by_user_ids, image MUST ALL BE QUOTE-WRAPPED. // IMPORTANT: commas must separate entries in the json string. // IMPORTANT: your json string was not closed with the appropriate number and type of braces. // use https://jsonlint.com/ to see how your json is invalid function unpackHeaderFields($value, $t = "\t") { foreach ($value as $headersIndex => $headers) { foreach ($headers as $headerKey => $headerValue) { if ($headerKey == 'header_fields') { unpackHeaderFields($headerValue, $t . "\t"); } elseif (in_array($headerKey, ['boxes', 'line_items'])) { echo "$t$headersIndex : $headerKey...\n"; foreach ($headerValue as $subIndex => $subValue) { echo "$t\t$subValue\n"; } } else { echo "$t$headersIndex : $headerKey = $headerValue\n"; } } } } $array = json_decode($json, true); foreach ($array['data'] as $index => $data) { foreach ($data as $key => $value) { if ($key == 'header_fields') { echo "$index : header_fields...\n"; unpackHeaderFields($value); } elseif ($key == 'boxes') { echo "$index : boxes...\n"; foreach ($value as $boxIndex => $boxValue) { echo "\t$boxValue\n"; } } else { echo "$index : $key = $value\n"; } } } echo 'meta count = ' . $array['meta']['count'];
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.31, 8.3.0 - 8.3.31, 8.4.1 - 8.4.22, 8.5.0 - 8.5.7
0 : approved = 0 : approved_user_id = 0 : boxes... 0 : created = 2020-05-19T21 0 : created_at = 2020-05-19T21 0 : edited = 0 : edited_in_affiliate = 0 : edited_in_hdr = 0 : edited_in_web_app = 0 : erp_project_id = 0 : error_description = 0 : header_fields... 0 : boxes... 0 : code = creditor_number 0 : data_type = 0 : error = 0 : feature_id = nvnnn 0 : value = hhhhh 1 : boxes... 1 : code = payment_account_number 1 : data_type = 1 : error = 1 : value = 2 : boxes... 2 : code = order_number 2 : data_type = 2 : error = 2 : value = 3 : boxes... 3 : code = total_amount_incl_vat 3 : data_type = 3 : error = 3 : feature_id = mmm 3 : value = hhh 4 : approved = 4 : approved_user_id = 4 : boxes... 4 : created = 2020-05-19 4 : created_at = 2020-05-19 4 : edited = 4 : edited_in_affiliate = 4 : edited_in_hdr = 4 : edited_in_web_app = 4 : erp_project_id = 4 : error_description = 0 : boxes... 0 : code = reference 0 : data_type = 0 : error = 0 : value = 1 : boxes... 1 : code = payment_swift_bic 1 : data_type = 1 : error = 1 : value = 2 : boxes... 2 : code = recipient_vat_reg_no 2 : data_type = 2 : error = 2 : value = 3 : boxes... 3 : code = joint_payment_id 3 : data_type = 3 : error = 3 : value = 4 : boxes... 4 : code = catalog_debitor_id 4 : data_type = 4 : error = 4 : value = 5 : boxes... 5 : code = case_number 5 : data_type = 5 : error = 5 : value = 6 : boxes... 6 : code = payment_account_number 6 : data_type = 6 : error = 6 : value = 7 : boxes... 7 : code = payment_iban 7 : data_type = 7 : error = 7 : value = 4 : id = 00000 4 : image = https://skkkkkllllllllll 4 : line_items... 4 : note = 4 : organization_id = 11111 4 : organization_voucher_id = 7777 4 : page_count = 1 4 : status = successful 4 : type = voucher 4 : upload_type = affiliate 4 : uploaded_by_user_id = 0000001 4 : user_payment_method = 4 : user_voucher_type = meta count = 2

preferences:
117.73 ms | 2121 KiB | 4 Q