Overview

Packages

  • Onion::Controllers
  • Onion::Core
  • Onion::UI
  • Onion::Utils

Classes

  • Arrays
  • Assets
  • Filesystem
  • Image
  • Languages
  • Mail
  • Secure
  • Strings
  • SWF
  • Utils
  • Validate
  • Visitor
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: 
  3: /**
  4:  * Onion Framework - Práca s poľami
  5:  *
  6:  * Copyright (c) 2011 Jano Gašpar (http://webstranky.net)
  7:  *
  8:  * @author    Jano Gašpar
  9:  * @copyright Copyright (c) 2011 Jano Gašpar
 10:  * @package   Onion::Utils
 11:  **/
 12: class Arrays
 13: {
 14:     /**
 15:      * Výber hodnoty z poľa podľa kľúča, ak kľúč neexistuje, vráti NULL
 16:      *
 17:      * @param  array        pole z ktorého sa má hodnota vybrať
 18:      * @param  string|array kľúč ktorého hodnota sa má vybrať, môže byť pole ak sa má vyberať z viacrozmerného poľa
 19:      * @return mixed        hodnota kľúča
 20:      */
 21:     public static function get_value($array, $key)
 22:     {
 23:         if (is_array($key) === FALSE) {
 24:             if (isset($array[$key]) === FALSE) {
 25:                 return NULL;
 26:             }
 27: 
 28:             return $array[$key];
 29: 
 30:         } else {
 31:             $value = $array;
 32: 
 33:             foreach ($key as $k) {
 34:                 if (isset($value[$k]) === FALSE) {
 35:                     return NULL;
 36:                 }
 37: 
 38:                 $value = $value[$k];
 39:             }
 40:         }
 41: 
 42:         return $value;
 43:     }
 44: 
 45: 
 46:     /**
 47:      * Zistenie či sa hodnota nachádza v poli, na rozdiel od štandardnej PHP funnkcie ignoruje rozdiely vo veľkosti písmen
 48:      *
 49:      * @param  string|int hľadaná hodnota
 50:      * @param  array      pole v ktorom sa hľadá
 51:      * @return bool
 52:      */
 53:     public static function in_array($needle, $haystack)
 54:     {
 55:         foreach ($haystack as &$value) {
 56:             $value = strtolower($value);
 57:         }
 58: 
 59:         return in_array(strtolower($needle), $haystack);
 60:     }
 61: 
 62: 
 63:     /**
 64:      * Rekurzívne spojenie dvoch polí, existujúce hodnoty z prvého poľa sa prepíšu hodnotami z druhého
 65:      *
 66:      * @param  array prvé pole
 67:      * @param  array druhé pole
 68:      * @return array výsledné pole
 69:      */
 70:     public static function merge($array_a, $array_b)
 71:     {
 72:         foreach ($array_b as $key => $value) {
 73:             if (is_array($value) === TRUE
 74:                 AND isset($array_a[$key]) === TRUE) {
 75: 
 76:                 $array_a[$key] = self::merge($array_a[$key], $value);
 77: 
 78:             } else {
 79:                 $array_a[$key] = $value;
 80:             }
 81:         }
 82: 
 83:         return $array_a;
 84:     }
 85: 
 86: 
 87:     /**
 88:      * Kontrola či všetky prvky poľa sú číslo
 89:      *
 90:      * @param  array pole na kontrolu
 91:      * @return bool
 92:      */
 93:     public static function is_numeric($array)
 94:     {
 95:         foreach ($array as $value) {
 96:             if (is_numeric($value) === FALSE) {
 97:                 return FALSE;
 98:             }
 99:         }
100: 
101:         return TRUE;
102:     }
103: 
104: 
105:     public static function flatten($array)
106:     {
107:         $out = array();
108:         foreach ($array as $key => $value) {
109:             if (is_array($value) === TRUE) {
110:                 $out = array_merge($out, self::flatten($value));
111: 
112:             } else {
113:                 $out[$key] = $value;
114:             }
115:         }
116: 
117:         return $out;
118:     }
119: }
120: 
Onion API documentation generated by ApiGen.
Generated using the TokenReflection library.