在csv值

时间:2016-08-19 15:12:39

标签: php csv

我正在尝试在上传的csv中查找一个度数字符,然后才能使用我的输出方法。当我正在写我通常会这样做时,我觉得我的解决方案将涉及比它应该更多的步骤。所以,**我问有没有更好的方法在csv文件中查找°符号并将其替换为°。以下是我正在采取的方法:

$file       = get_attached_file( $csv_file ); //set file_path
$file_array = array(); //declare an array so it gets key and values approriately
$array_key  = 'angle'; //define where the degree symbol is to be added
$file_array = str_getcsv(file_get_contents($file));
if( array_key_exists($array_key, $file_array) ) {
    foreach ($file_array as $key => $value) {
        $degree  = '°';
        $replace = '&#176';
        $value = str_replace($degree, $replace, $value);
    }
}

我的问题是,我不是必须循环遍历数组中的每个值,将它放回到csv中,然后需要我定义当某些文件不具有{时需要输出的列。 {1}}列我首先想要替换。
此外,php将能够找到并解码angle符号。

1 个答案:

答案 0 :(得分:2)

如果更换度数符号是唯一让您感到担忧的事情,那么从微观优化的角度来看,这会更有效率,因为您可以跳过调用foreach(){}循环而只需要调用{{1}一次:

str_replace()

根据评论更新:

$file_array = str_getcsv(str_replace('°', '°', file_get_contents($file)));