/** * get the average of the items * * @param array[array] $arr * @param string $key */ public static function average($arr, $key = null) { if (!is_array($arr)) { throw new \InvalidArgumentException('CCArr::average - first argunent has to be an array.'); } if (is_string($key) && CCArr::is_multi($arr)) { $arr = CCArr::pick($key, $arr); } return static::sum($arr) / count($arr); }
/** * test if array has multiple dimensions */ public function testArrayIsMulti() { // test $this->assertTrue(CCArr::is_multi(array(array('name' => 'johnson', 'age' => 20)))); $this->assertTrue(CCArr::is_multi(array(array('name' => 'johnson', 'age' => 20), array('name' => 'Jack', 'age' => 25)))); $this->assertTrue(CCArr::is_multi(array(array('name' => 'johnson', 'age' => 20), array('name' => 'Jack', 'age' => 25), 'no array valie', 32))); $this->assertFalse(CCArr::is_multi(array('jack', 'john', 'johnson'))); $this->assertFalse(CCArr::is_multi(array('jack' => 12, 'john' => 24, 'johnson' => 32))); }