예제 #1
0
파일: CoreTest.php 프로젝트: ejz/core
 public function testArrayTranspose()
 {
     $array = array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9));
     $array = array_transpose($array);
     $this->assertEquals($array, array(array(1, 4, 7), array(2, 5, 8), array(3, 6, 9)));
     //
     $array = array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9, 'key' => 'value'));
     $array = array_transpose($array);
     $this->assertEquals($array, array(array(1, 4, 7), array(2, 5, 8), array(3, 6, 9), 'key' => array(2 => 'value')));
 }
예제 #2
0
/** function array_shrink [arrayShrink]
 *		Returns all elements with second level key $key
 *		from a 2-D array
 *		e.g.-
 *			$array[0]['foo'] = 'bar';
 *			$array[1]['foo'] = 'baz';
 *
 *		array_shrink($array, 'foo') returns
 *			array(
 *				[0] = 'bar'
 *				[1] = 'baz'
 *			)
 *
 *		This function returns the input if it is not
 *		an array, or returns false if the key is not
 *		present in the array
 *
 * @param array data array
 * @param mixed second level key
 * @return mixed array (or original input or bool false on failure)
 */
function array_shrink($array, $key)
{
    if (!is_array($array)) {
        return $array;
    }
    $array = array_transpose($array);
    if (!isset($array[$key])) {
        return false;
    }
    return $array[$key];
}