quocvuongdn

#php: Get data from array, by alter name, set default val

Mar 16th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.24 KB | None | 0 0
  1. function get_array_data($arr = array() , $keyName = '', $type = 'string', $defaultVal = null) {
  2.         if (empty($arr)) {
  3.             return $defaultVal;
  4.         }
  5.         else {
  6.             if (is_array($keyName)) {
  7.                 //Get by main name or alternative name.
  8.                 $value = array_key_exists($keyName[0], $arr) ? $arr[$keyName[0]] : (array_key_exists($keyName[1], $arr) ? $arr[$keyName[1]] : $defaultVal);
  9.             }
  10.             else {
  11.                 $value = array_key_exists($keyName, $arr) ? $arr[$keyName] : $defaultVal;
  12.             }
  13.             if (!is_null($value)) {
  14.                
  15.                 //Check boolean, string, numeric, array
  16.                 if (in_array($type, array(
  17.                     'bool',
  18.                     'boolean'
  19.                 ))) {
  20.                     $trueVals = array(
  21.                         '1',
  22.                         1,
  23.                         'yes',
  24.                         'y',
  25.                         'on',
  26.                         'true',
  27.                         true
  28.                     );
  29.                     if (in_array($value, $trueVals)) {
  30.                         $value = 1;
  31.                     }
  32.                     $value = 0;
  33.                 }
  34.                 elseif ($type == 'string') {
  35.                     $value = (string)$value;
  36.                 }
  37.                 elseif ($type == 'int') {
  38.                     $value = (int)$value;
  39.                 }
  40.                 elseif ($type == 'float') {
  41.                     $value = (float)$value;
  42.                 }
  43.                 elseif ($type == 'double') {
  44.                     $value = (double)$value;
  45.                 }
  46.                 elseif ($type == 'array') {
  47.                     if (!is_array($value)) {
  48.                         $value = false;
  49.                     }
  50.                 }
  51.             }
  52.             return $value;
  53.         }
  54.     }
Advertisement
Add Comment
Please, Sign In to add comment