<?PHP

function column_order($myArray$columnCount 1){
    
$arrayCount count($myArray);
    
$returnArray = array();

    
$tempArray = array();

    if (
$arrayCount <= $columnCount){
        return 
$myArray;
    }

    
$y 0;
    
$currentPos 0;
    while (
$currentPos $arrayCount AND $y $columnCount) {
        for ( 
$x=0;  $x floor(($arrayCount $columnCount) + abs(- ($y $columnCount) - .0001)); $x++ ){
            
$tempArray[$y][] = $myArray[$currentPos];
            
$currentPos ++;
        }
        
$y++;
    }

    
$x 0;
    while(
$x $columnCount $arrayCount){
        for ( 
$y=0;  $y $columnCount $y++){
             if ( isset(
$tempArray[$y][$x]) ){
                
$returnArray[] = $tempArray[$y][$x];
             }
        }
         
$x++;
    }
    
    return 
$returnArray;
}

?>