Разбить масив масивов по ключу

Кощей

if(!$needle) die("ooh");
Разбить масив масивов по ключу

Как можно наиболее быстро разбить такой масив:
PHP:
{ 
    0 => {
         [guest] = 0;
         [data]   = 'vasya';
    }
    1 => {
         [guest] = 1;
         [data]   = '195.138...';    
    }
    2 => {
         [guest] = 1;
         [data]   = '...';    
    }
    3 => {
         [guest] = 0;
         [data]   = 'kolya';    
    }
    4 => {
         [guest] = 1;
         [data]   = '...';    
    }
    5 => {
         [guest] = 0;
         [data]   = '201.228...'; 
    }
}

На два таких:
{
  0 => {
         [guest] = 0;
         [data]   = '202.128...';    
    }
   1 => {
         [guest] = 0;
         [data]   = '202.128...';      
    }
    2 => {
         [guest] = 0;
         [data]   = '201.228...';    
    }
}

{
  0 => {
         [guest] = 1;
         [data]   = 'vasya';
    }
   1 => {
         [guest] = 1;
         [data]   = 'kolya';    
    }
    2 => {
         [guest] = 1;
         [data]   = 'bob';    
    }
}
 

Beavis

Banned
во первых ты путаешь ключ и значение элемента массива, во вторых искать решение максимальное по быстродействию, я уверен, тебе на самом деле не нужно, а в третьих можно просто сделать 2 раза array_filter, написав два колбэка, отталкивающегося от значения элемента массива с ключом guest
или можно так ещё:
PHP:
$result = array();
function callback($item, $key, $arr) {
	$result[$item['guest']][] = $item;
}
$arr = array(...);
array_walk($arr, "callback", &$result);
 
Сверху