我很难弄清楚如何直接为数组键赋值。我认为我现在使用的代码(有效)是低效的,这个代码在每次导入时运行了几千次。
所以我在数组中执行foreach循环,其中一个操作是将数组键从FEMALE
更改为F,或者将MALE
更改为M.
目前我通过字符串传递值,因为我试图直接设置它的代码失败。
if ($csv[$k] ['gender'] == 'FEMALE') {
$string = 'F';
} else {
$string = 'M';
};
$csv[$k] ['gender'] = $string;
/编辑
数组函数的总代码,用于加载CSV文件,然后更改列名并对数据进行一些改进(captical's等),如下所示。
foreach ( $csv as $k=>$v )
{
$csv[$k] ['firstname'] = ucfirst(strtolower($csv[$k] ['firstname']));
$csv[$k] ['lastname'] = ucfirst(strtolower($csv[$k] ['lastname']));
$csv[$k] ['city'] = ucfirst(strtolower($csv[$k] ['city']));
$csv[$k] ['street'] = ucfirst(strtolower($csv[$k] ['street']));
$csv[$k] ['email'] = strtolower($csv[$k] ['email']);
if ($csv[$k] ['gender'] == 'FEMALE') {
$string = 'F';
} else {
$string = 'M';
};
$csv[$k] ['gender'] = $string;
}
答案 0 :(得分:0)
如果您想稍微简化一下代码片段,可以使用它:
$csv[$k]['gender'] = ( $csv[$k]['gender'] == "FEMALE" ) ? "F" : "M";
如果“女性”为真,则将$ csv [$ k] ['gender']设置为“F”,如果为false,则设置为“M”。
另外,如果您只想将值设置为从男性/女性到F / M,您可以将其设为子串
$csv[$k]['gender'] = substring( $csv[$k]['gender'], 0, 1 );