1. <?php
  2.  
  3.  
  4.  
  5. function fill($keys, $value, $a = array()) {
  6. $keys = (array)$keys;
  7. $key = array_pop($keys);
  8. $v = &$a;
  9. foreach ($keys as $keyName) {
  10. $v = &$v[$keyName];
  11. }
  12. $v[$key] = $value;
  13. return $a;
  14. }
  15.  
  16. var_dump(fill(['a', 'b', 'c', 'd', 'e'], 'f', array('a' => array('b' => array('b1' => array())))));
  17. var_dump(fill(['a', 'b', 'c'], 'd', array('a' => array('a1' => 3))));
  18. var_dump(fill(['c'], 'd'));
  19. var_dump(fill('kkk', 'd'));