1
我正在處理由遠程系統創作的CSV。我不想假設他們不會改變他們提供的字段或他們的順序,所以我解析CSV字段中索引的標題行並將它們映射到我可用於查找和更新的數組中。測試array_search的結果
事情是我做的方式測試對於指數零誤報:
foreach ($field_map_array as $local_field => $silverpop_field) {
if ($idx = array_search($silverpop_field, $fields)) {
$local_to_sp[$local_table][$local_field] = $idx;
} // index found
}
什麼是更好的方式來做到這一點?
謝謝你的迴應!當我使用你的行時,我沒有得到我期望的結果,但是當我使用$ idx = array_search($ silverpop_field,$ fields);然後如果($ idx!== FALSE){按照我的希望工作。儘管我喜歡這種方法,但我不清楚爲什麼結果不起作用?還試着用TRUE而不是FALSE。 – jerrygarciuh
@jerrygarciuh對不起,我混淆了'if'語句的工作方式(doh)。在這種情況下你需要'!=='。如果你做了if(($ idx = array_search($ silverpop_field,$ fields))!== FALSE)'它應該可以工作。 –
完美!非常感謝。我會繼續使用===! – jerrygarciuh