xref: /PHP-8.4/ext/standard/tests/file/fgetcsv.phpt (revision f756b96e)
1--TEST--
2various fgetcsv() functionality tests
3--FILE--
4<?php
5    $list = array(
6        'aaa,bbb',
7        'aaa,"bbb"',
8        '"aaa","bbb"',
9        'aaa,bbb',
10        '"aaa",bbb',
11        '"aaa",   "bbb"',
12        ',',
13        'aaa,',
14        ',"aaa"',
15        '"",""',
16        '"\\"","aaa"',
17        '"""""",',
18        '""""",aaa' . "\n",
19        '"\\""",aaa' . "\n",
20        'aaa,"\\"bbb,ccc' . "\n",
21        'aaa,bbb   ',
22        'aaa,"bbb   "',
23        'aaa"aaa","bbb"bbb',
24        'aaa"aaa""",bbb',
25        'aaa"\\"a","bbb"',
26        'aaa,"bbb' . "\n",
27        'aaa,"bbb',
28    );
29
30    $file = __DIR__ . '/fgetcsv.csv';
31    @unlink($file);
32    foreach ($list as $v) {
33        $fp = fopen($file, "w");
34        fwrite($fp, $v);
35        fclose($fp);
36
37        var_dump(fgetcsv(fopen($file, "r"), 1024, escape: "\\"));
38    }
39    @unlink($file);
40?>
41--EXPECT--
42array(2) {
43  [0]=>
44  string(3) "aaa"
45  [1]=>
46  string(3) "bbb"
47}
48array(2) {
49  [0]=>
50  string(3) "aaa"
51  [1]=>
52  string(3) "bbb"
53}
54array(2) {
55  [0]=>
56  string(3) "aaa"
57  [1]=>
58  string(3) "bbb"
59}
60array(2) {
61  [0]=>
62  string(3) "aaa"
63  [1]=>
64  string(3) "bbb"
65}
66array(2) {
67  [0]=>
68  string(3) "aaa"
69  [1]=>
70  string(3) "bbb"
71}
72array(2) {
73  [0]=>
74  string(3) "aaa"
75  [1]=>
76  string(3) "bbb"
77}
78array(2) {
79  [0]=>
80  string(0) ""
81  [1]=>
82  string(0) ""
83}
84array(2) {
85  [0]=>
86  string(3) "aaa"
87  [1]=>
88  string(0) ""
89}
90array(2) {
91  [0]=>
92  string(0) ""
93  [1]=>
94  string(3) "aaa"
95}
96array(2) {
97  [0]=>
98  string(0) ""
99  [1]=>
100  string(0) ""
101}
102array(2) {
103  [0]=>
104  string(2) "\""
105  [1]=>
106  string(3) "aaa"
107}
108array(2) {
109  [0]=>
110  string(2) """"
111  [1]=>
112  string(0) ""
113}
114array(1) {
115  [0]=>
116  string(7) """,aaa
117"
118}
119array(1) {
120  [0]=>
121  string(8) "\"",aaa
122"
123}
124array(2) {
125  [0]=>
126  string(3) "aaa"
127  [1]=>
128  string(10) "\"bbb,ccc
129"
130}
131array(2) {
132  [0]=>
133  string(3) "aaa"
134  [1]=>
135  string(6) "bbb   "
136}
137array(2) {
138  [0]=>
139  string(3) "aaa"
140  [1]=>
141  string(6) "bbb   "
142}
143array(2) {
144  [0]=>
145  string(8) "aaa"aaa""
146  [1]=>
147  string(6) "bbbbbb"
148}
149array(2) {
150  [0]=>
151  string(10) "aaa"aaa""""
152  [1]=>
153  string(3) "bbb"
154}
155array(2) {
156  [0]=>
157  string(8) "aaa"\"a""
158  [1]=>
159  string(3) "bbb"
160}
161array(2) {
162  [0]=>
163  string(3) "aaa"
164  [1]=>
165  string(4) "bbb
166"
167}
168array(2) {
169  [0]=>
170  string(3) "aaa"
171  [1]=>
172  string(3) "bbb"
173}
174