$sutunlar = array("birinci sütun", "ikinci sütun", "üçüncü sütun");

$satirlar = array(
    array(0 => array(
        0 => "Birinci Satır Birinci Sütun",
        1 => "Birinci Satır İkinci Sütun",
        2 => "Birinci Satır Üçüncü Sütun"
        )
    ),
    array(0 => array(
        0 => "İkinci Satır Birinci Sütun",
        1 => "İkinci Satır İkinci Sütun",
        2 => "İkinci Satır Üçüncü Sütun"
        )
    )
);

array_walk_recursive($satirlar, function($i, $k) use(&$sonuc, $sutunlar){
    if(isset($sutunlar[$k])) 
        $sonuc[$sutunlar[$k]][] = $i;
});

print_r($sonuc);
çıktısı şöyle olacaktır;

Array
(
    [birinci sütun] => Array
    (
        [0] => Birinci Satır Birinci Sütun
        [1] => İkinci Satır Birinci Sütun
    )
    [ikinci sütun] => Array
    (
        [0] => Birinci Satır İkinci Sütun
        [1] => İkinci Satır İkinci Sütun
    )
    [üçüncü sütun] => Array
    (
        [0] => Birinci Satır Üçüncü Sütun
        [1] => İkinci Satır Üçüncü Sütun
    )
)