У меня проблема, когда я пытаюсь получить csv экспорт с помощью php, и проблема в том, что, когда значение равно 0, оно будет показывать мне '0 или ИСТИНА в выходных данных. но если значение выше 0, то у меня нет проблем. как я могу показать 0 как просто 0?
Я пытался добавить \ ', но он тоже будет выводиться. Я просто хочу 0 на выходе. это код, который я использую:
$putArray = array(
"n1" => $getPhoneR[name],
"n2" => $getPhoneR[phone],
"n3" => $getDataR[reason],
"n4" => $tarikh,
"n5" => $zaman,
"n6" => $setState[1],
"n7" => $getDataR[work],
"n8" => $getDataR[mojodi]);
$data[] = $putArray;
function cleanData(&$str)
{
if($str == 't') $str = 'TRUE';
if($str == 'f') $str = 'FALSE';
if(preg_match("/^0/", $str) || preg_match("/^\+?\d{8,}$/", $str) || preg_match("/^\d{4}.\d{1,2}.\d{1,2}/", $str)) {
$str = "'$str";
}
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
// filename for download
if($_GET[sarbarg] == 8)
$filename = "Code-$_GET[page].csv";
else
$filename = "Excel-Text-" . date('H:i:s-Y/m/d') . ".csv";
header("Content-Disposition: attachment; filename=\"$filename\"");
header('Content-type: application/csv;charset=utf-8');
$out = fopen("php://output", 'w');
$flag = false;
foreach($data as $row) {
if(!$flag) {
// display field/column names as first row
fputcsv($out, array_keys($row), ',', '"');
$flag = true;
}
array_walk($row, __NAMESPACE__ . '\cleanData');
fputcsv($out, array_values($row), ',', '"');
}
fclose($out);
, поэтому я ожидаю получить нулевые значения как 0, а не '0 или ИСТИНА