Advertisement
Guest User

Untitled

a guest
Oct 21st, 2011
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.81 KB | None | 0 0
  1. $array = array('bar' => array('color' => 'green', 'size' => 'M'));
  2.  
  3. function set_value(&$root, $compositeKey, $value) {
  4.     $keys = explode('.', $compositeKey);
  5.     while(count($keys) > 1) {
  6.         $key = array_shift($keys);
  7.         if(!isset($root[$key])) {
  8.             $root[$key] = array();
  9.             $root = &$root[$key];
  10.         }
  11.     }
  12.  
  13.     $key = reset($keys);
  14.     $root[$key] = $value;
  15. }
  16.  
  17. echo "Original array:";
  18. print_r($array);
  19. set_value($array, 'bar.color', 'black');
  20.  
  21. echo "Final array:";
  22. print_r($array);
  23.  
  24.  
  25.  
  26. // OUTPUT:
  27. Original array:Array
  28. (
  29.     [bar] => Array
  30.         (
  31.             [color] => green
  32.             [size] => M
  33.         )
  34.  
  35. )
  36. Final array:Array
  37. (
  38.     [bar] => Array
  39.         (
  40.             [color] => green
  41.             [size] => M
  42.         )
  43.  
  44.     [color] => black
  45. )
  46.  
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement