Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $json = '{"id":"a9697c47-dcc6-46ad-8778-000000000000","result":"A","statedIp":"10.8.1.1","trackingNumber":202020202020202020,"details":{"device":{"alias":101010101010101010,"blackboxMetadata":{"age":3543856,"timestamp":"2020-07-24T04:45:18Z"},"browser":{"cookiesEnabled":true,"configuredLanguage":"EN-US,EN;Q=0.9,MS;Q=0.8","language":"EN-US","type":"CHROME","timezone":"-480","version":"83.0.4103.116"},"firstSeen":"2020-06-30T13:12:04.240Z","isNew":false,"os":"WINDOWS NT 10.0","screen":"1440X2560","type":"WINDOWS"},"statedIp":{"address":"10.8.10.00","source":"subscriber"},"realIp":{"address":"118.100.10.10","isp":"TM NET INTERNET SERVICE PROVIDER","ipLocation":{"city":"KUALA LUMPUR","country":"MALAYSIA","countryCode":"MY","latitude":3.656210,"longitude":125.68690,"region":"KUALA LUMPUR"},"parentOrganization":"TMNST","source":"nandos"},"ruleResults":{"score":0,"rulesMatched":0}}}';
- $json = json_decode($json, true);
- print_r(array_dot($json));
- /**
- * Flatten multidimensional array into single array, by dot all keys to it's value.
- * Inspired by Laravel.
- *
- * @version PHP 5.3 Safe.
- *
- * @param array $array
- * @param string $prefix
- * @param string $glue
- *
- * @return array{string: mixed}
- */
- function array_dot($array, $prefix = '', $glue = '.')
- {
- $result = array();
- foreach ($array as $key => $value) {
- if( is_array($value) ) {
- $result = $result + array_dot($value, $prefix . $key . $glue);
- }
- else {
- $result[$prefix . $key] = $value;
- }
- }
- return $result;
- }
- /*
- Array
- (
- [id] => a9697c47-dcc6-46ad-8778-000000000000
- [result] => A
- [statedIp] => 10.8.1.1
- [trackingNumber] => 202020202020202020
- [details.device.alias] => 101010101010101010
- [details.device.blackboxMetadata.age] => 3543856
- [details.device.blackboxMetadata.timestamp] => 2020-07-24T04:45:18Z
- [details.device.browser.cookiesEnabled] => 1
- [details.device.browser.configuredLanguage] => EN-US,EN;Q=0.9,MS;Q=0.8
- [details.device.browser.language] => EN-US
- [details.device.browser.type] => CHROME
- [details.device.browser.timezone] => -480
- [details.device.browser.version] => 83.0.4103.116
- [details.device.firstSeen] => 2020-06-30T13:12:04.240Z
- [details.device.isNew] =>
- [details.device.os] => WINDOWS NT 10.0
- [details.device.screen] => 1440X2560
- [details.device.type] => WINDOWS
- [details.statedIp.address] => 10.8.10.00
- [details.statedIp.source] => subscriber
- [details.realIp.address] => 118.100.10.10
- [details.realIp.isp] => TM NET INTERNET SERVICE PROVIDER
- [details.realIp.ipLocation.city] => KUALA LUMPUR
- [details.realIp.ipLocation.country] => MALAYSIA
- [details.realIp.ipLocation.countryCode] => MY
- [details.realIp.ipLocation.latitude] => 3.65621
- [details.realIp.ipLocation.longitude] => 125.6869
- [details.realIp.ipLocation.region] => KUALA LUMPUR
- [details.realIp.parentOrganization] => TMNST
- [details.realIp.source] => nandos
- [details.ruleResults.score] => 0
- [details.ruleResults.rulesMatched] => 0
- )
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement