【问题标题】:PHP csv reader relationship within array数组内的PHP csv读取器关系
【发布时间】:2014-02-15 11:11:49
【问题描述】:

我有国家列表 csv 及其代码,我使用下面的代码来读取 csv

function readCSV($csvFile){
    $file_handle = fopen($csvFile, 'r');
    while (!feof($file_handle) ) {
        $line_of_text[] = fgetcsv($file_handle, 1024);
    }
    fclose($file_handle);
    return $line_of_text;
}

我得到了类似的结果

Array
(
    [0] => AD
    [1] => Andorra
    [2] => Andorre
)
Array
(
    [0] => AE
    [1] => United Arab Emirates
    [2] => Émirats arabes unis
)
Array
(
    [0] => AF
    [1] => Afghanistan
    [2] => Afghanistan
)
Array
(
    [0] => AG
    [1] => Antigua and Barbuda
    [2] => Antigua-et-Barbuda
)
Array
(
    [0] => AI
    [1] => Anguilla
    [2] => Anguilla
)

我想建立一些关系,比如如果在文本框中写“安圭拉”,我会得到它的鳕鱼“AI”等等,但无法弄清楚如何在键 0 和键 1 之间建立关系

【问题讨论】:

    标签: php arrays csv fgetcsv


    【解决方案1】:

    您可以使用associative arrays 实现此目的。

    替换

    $line_of_text[] = fgetcsv($file_handle, 1024);
    

    $line = fgetcsv($file_handle, 1024);
    $line_of_text[$line[1]] = $line;
    

    这样你的函数将返回如下内容:

    Array
    (
        [Andorra] => Array
            (
                [0] => AD
                [1] => Andorra
                [2] => Andorre
            )
    
        [United Arab Emirates] => Array
            (
                [0] => AE
                [1] => United Arab Emirates
                [2] => Émirats arabes unis
            )
    
        ....
    )
    

    因此,您将能够使用 $line_of_text['Anguilla'] 获取安圭拉的行。

    【讨论】:

      猜你喜欢
      • 2017-04-13
      • 2017-05-14
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      • 2019-03-27
      • 2021-09-15
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多