array轉CSV後,0都不見了

作者: chlorine (綠)   2015-02-05 06:56:47
Array 的名字是$finalResultPM 因為裡面的元素每次都不一樣
但會比30個少,可是為了寫進mysql,我必須把他補滿30個
mysql的欄位是int,且字元限制4
array2csv這個function是我從github上找的,在補完0後
轉成csv,這些元素都不見了,請問問題在
1> 問題在array_pad的話,那我可能用其他方式來補array,比如說例出個數
如果位數少於30,就不斷補0(可能要用string),直到結束,再把他轉回int
2>問題在array2csv的功能,這可能就自已重寫這一段。
麻煩前輩解答了
$finalResultPM = array_pad($finalResultPM , 30, "0");
print_r ($finalResultPM);
$csvTestPM = array2csv($finalResultPM, ",");
echo $csvTestPM;
function array2csv( $list, $sep=',' )
{
if( !is_array( $list ) ) return false;
foreach( $list as $line )
{
if( !is_array( $line ) ) return false;
unset( $tmpl );
foreach( $line as $clm )
{
if( eregi( '[",n]', $clm ) )
{
$tmp = str_replace( '"', '""', $clm );
$tmpl[] = '"'.$tmp.'"';
}
else {
$tmpl[] = $clm;
}
}
$str .= implode( $sep, $tmpl )."";
}
return $str;
}
//
作者: serotw (弒龍)   2015-02-11 23:03:00
$tmpl[] = strval($clm); //try
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-02-12 13:47:00
是strval()還是intval()

Links booklink

Contact Us: admin [ a t ] ucptt.com