Advertisement
lignite0

getValueFromArrayByKeys & setValueToArrayByKeys

Aug 21st, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.78 KB | None | 0 0
  1. <?php
  2.  
  3. protected function getValueFromArrayByKeys(array $values, array $keys, $default = null)
  4. {
  5.     if (count($keys) == 0) {
  6.         return $default;
  7.     }
  8.  
  9.     foreach ($keys as $key) {
  10.         if (!isset($values[$key])) {
  11.             return $default;
  12.         }
  13.         $values = $values[$key];
  14.     }
  15.  
  16.     return $values;
  17. }
  18.  
  19. protected function setValueToArrayByKeys($value, array &$values, array $keys)
  20. {
  21.     if (count($keys) == 0) {
  22.         return;
  23.     }
  24.  
  25.     $lastKey = array_pop($keys);
  26.     $valuesCurrent = &$values;
  27.  
  28.     foreach ($keys as $key) {
  29.         if (!isset($valuesCurrent[$key])) {
  30.             $valuesCurrent[$key] = [];
  31.         }
  32.         $valuesCurrent = &$valuesCurrent[$key];
  33.     }
  34.  
  35.     $valuesCurrent[$lastKey] = $value;
  36.  
  37.     return $values;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement