fork(1) download
  1. <?php
  2.  
  3. $example = array(
  4. 'foo' => array(
  5. 'hello' => array(
  6. 'world' => '!',
  7. 'earth' => '?'
  8. )
  9. ),
  10. 'bar' => array());
  11.  
  12. function getArrayValueByKeyString($array,$keystring) {
  13. $dotPosition = stripos ($keystring , '.' );
  14. if($dotPosition !== FALSE) {
  15. $currentKeyPart = substr($keystring, 0, $dotPosition);
  16. $remainingKeyPart = substr($keystring, $dotPosition+1);
  17. echo '<hr/>Key Pairs = '.$currentKeyPart.' and '.$remainingKeyPart;
  18. if(array_key_exists($currentKeyPart, $array)) {
  19. return getArrayValueByKeyString(
  20. $array[$currentKeyPart],
  21. $remainingKeyPart);
  22. }
  23. else {
  24. // Handle Error
  25. }
  26. }
  27. elseif (array_key_exists($keystring, $array)) {
  28. return $array[$keystring];
  29. }
  30. else {
  31. // handle error
  32. }
  33. }
  34.  
  35. echo '<hr/>Value found: ' . getArrayValueByKeyString($example,'foo.hello.world');
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
<hr/>Key Pairs = foo and hello.world<hr/>Key Pairs = hello and world<hr/>Value found: !