3v4l.org

run code in 500+ PHP versions simultaneously
<?php $content = <<<TEXT ,JAPANESE PRODUCTID1,HONDA PRODUCTID2,TOYOTA PRODUCTID3,NISSAN ,GERMAN PRODUCTID4,BMW PRODUCTID5,AUDI PRODUCTID6,MERCEDES TEXT; function csv_content_parser($content) { foreach (explode("\n", $content) as $line) { yield str_getcsv($line, ","); } } $result = []; $country = null; foreach (csv_content_parser($content) as [$code, $name]) { if (!$code) { $country = $name; continue; } $result[] = compact(['code', 'name', 'country']); } var_export($result);
Output for 8.4.1 - 8.4.21, 8.5.0 - 8.5.6
Deprecated: str_getcsv(): the $escape parameter must be provided as its default value will change in /in/1Ao2o on line 16 Deprecated: str_getcsv(): the $escape parameter must be provided as its default value will change in /in/1Ao2o on line 16 Deprecated: str_getcsv(): the $escape parameter must be provided as its default value will change in /in/1Ao2o on line 16 Deprecated: str_getcsv(): the $escape parameter must be provided as its default value will change in /in/1Ao2o on line 16 Deprecated: str_getcsv(): the $escape parameter must be provided as its default value will change in /in/1Ao2o on line 16 Deprecated: str_getcsv(): the $escape parameter must be provided as its default value will change in /in/1Ao2o on line 16 Deprecated: str_getcsv(): the $escape parameter must be provided as its default value will change in /in/1Ao2o on line 16 Deprecated: str_getcsv(): the $escape parameter must be provided as its default value will change in /in/1Ao2o on line 16 array ( 0 => array ( 'code' => 'PRODUCTID1', 'name' => 'HONDA', 'country' => 'JAPANESE', ), 1 => array ( 'code' => 'PRODUCTID2', 'name' => 'TOYOTA', 'country' => 'JAPANESE', ), 2 => array ( 'code' => 'PRODUCTID3', 'name' => 'NISSAN', 'country' => 'JAPANESE', ), 3 => array ( 'code' => 'PRODUCTID4', 'name' => 'BMW', 'country' => 'GERMAN', ), 4 => array ( 'code' => 'PRODUCTID5', 'name' => 'AUDI', 'country' => 'GERMAN', ), 5 => array ( 'code' => 'PRODUCTID6', 'name' => 'MERCEDES', 'country' => 'GERMAN', ), )
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30
array ( 0 => array ( 'code' => 'PRODUCTID1', 'name' => 'HONDA', 'country' => 'JAPANESE', ), 1 => array ( 'code' => 'PRODUCTID2', 'name' => 'TOYOTA', 'country' => 'JAPANESE', ), 2 => array ( 'code' => 'PRODUCTID3', 'name' => 'NISSAN', 'country' => 'JAPANESE', ), 3 => array ( 'code' => 'PRODUCTID4', 'name' => 'BMW', 'country' => 'GERMAN', ), 4 => array ( 'code' => 'PRODUCTID5', 'name' => 'AUDI', 'country' => 'GERMAN', ), 5 => array ( 'code' => 'PRODUCTID6', 'name' => 'MERCEDES', 'country' => 'GERMAN', ), )

preferences:
86.36 ms | 1246 KiB | 4 Q