<?php

function csv_row(array $rowscalar $glue ',') {
    return 
implode($gluecsv_escape($row$glue));
}

function 
csv_escape(mixed $valuescalar $glue ',') {
    if (
is_array($value)) {
        foreach (
$value as $key => $element) {
            
$value[$key] = csv_escape($element$glue);
        }
    }
    else {
        if (!
is_numeric($value) and !is_bool($value) and !std_isEmpty($value)) {
            
$value str_replace(array("\r\n""\r""\n"), ' '$value);
            if (
substr_count($value'"')) {
                
$value str_replace('"''""'$value);
            }
            
$value '"' $value '"';
        }
    }
    return 
$value;
}