0

我正在尝试从 csv 读取数组值并创建属于主键字段的子数组。例如,目前,假设我有以下数组结构和内容......

$events['venue-id'] = 55
$events['event-date'] = 19/02/13;
$events['event-name'] = 'Sports Day';

$events['venue-id'] = 76
$events['event-date'] = 22/02/13;
$events['event-name'] = 'Gala Event';

$events['venue-id'] = 55
$events['event-date'] = 29/03/13;
$events['event-name'] = 'Some Other Event';

使用场地 ID 作为父数组中的键的最佳方法是什么,与它相关的其他数据被分配给子数组?基本上是一对多的关系。

4

2 回答 2

0

尝试这个 :

$res              = array();
if (($handle      = fopen("your_file.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $res[$data[0]]['venue-id']         = $data[0];
        $res[$data[0]]['event-date']       = $data[1];
        $res[$data[0]]['event-name']       = $data[2];
    }
}

echo "<pre>";
print_r($res);
于 2013-03-19T04:57:20.493 回答
0

如果你愿意,你可以像这样构造它:

$events = array( 
  "55" => array(
    "event-date" => "19/02/03",
    "event-name" => "Sports Day"
   ),
  "76" => array(
   ...

);

这是假设不会有重复的场地 ID。

于 2013-03-19T00:00:16.497 回答