fork download
  1. <?php
  2.  
  3. $s = '{"menu": {
  4. "id": "file",
  5. "value": "File",
  6. "popup": {
  7. "menuitem": [
  8. {"value": "New", "onclick": "CreateNewDoc()"},
  9. {"value": "Open", "onclick": "OpenDoc()"},
  10. {"value": "Close", "onclick": "CloseDoc()"}
  11. ]
  12. }
  13. }}';
  14.  
  15. $o = json_decode($s, true);
  16.  
  17. function unroll_obj($o, $prefix='') {
  18. foreach ($o as $k => $v) {
  19. if (is_array($v)) {
  20. unroll_obj($v, $prefix . $k . '.');
  21. } else {
  22. echo $prefix . $k . '=' . $v . "\n";
  23. }
  24. }
  25. }
  26. unroll_obj($o);
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
menu.id=file
menu.value=File
menu.popup.menuitem.0.value=New
menu.popup.menuitem.0.onclick=CreateNewDoc()
menu.popup.menuitem.1.value=Open
menu.popup.menuitem.1.onclick=OpenDoc()
menu.popup.menuitem.2.value=Close
menu.popup.menuitem.2.onclick=CloseDoc()