1--TEST--
2Test fgetcsv() : usage variations - with all parameters specified
3--FILE--
4<?php
5/*
6 Prototype: array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure]]] );
7 Description: Gets line from file pointer and parse for CSV fields
8*/
9
10/* Testing fgetcsv() to read a file when all its parameters are provided */
11
12echo "*** Testing fgetcsv() : with all parameters specified ***\n";
13
14/* the array is with three elements in it. Each element should be read as
15   1st element is delimiter, 2nd element is enclosure
16   and 3rd element is csv fields
17*/
18$csv_lists = array (
19  array(',', '"', '"water",fruit'),
20  array(',', '"', '"water","fruit"'),
21  array(' ', '^', '^water^ ^fruit^'),
22  array(':', '&', '&water&:&fruit&'),
23  array('=', '=', '=water===fruit='),
24  array('-', '-', '-water--fruit-air'),
25  array('-', '-', '-water---fruit---air-'),
26  array(':', '&', '&""""&:&"&:,:":&,&:,,,,')
27);
28
29$filename = dirname(__FILE__) . '/fgetcsv_variation1.tmp';
30@unlink($filename);
31
32$file_modes = array ("r","rb", "rt", "r+", "r+b", "r+t",
33                     "a+", "a+b", "a+t",
34                     "w+", "w+b", "w+t",
35                     "x+", "x+b", "x+t");
36
37$loop_counter = 1;
38foreach ($csv_lists as $csv_list) {
39  for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
40    // create the file and add the content with has csv fields
41    if ( strstr($file_modes[$mode_counter], "r") ) {
42      $file_handle = fopen($filename, "w");
43    } else {
44      $file_handle = fopen($filename, $file_modes[$mode_counter] );
45    }
46    if ( !$file_handle ) {
47      echo "Error: failed to create file $filename!\n";
48      exit();
49    }
50    $delimiter = $csv_list[0];
51    $enclosure = $csv_list[1];
52    $csv_field = $csv_list[2];
53
54    fwrite($file_handle, $csv_field . "\n");
55    // write another line of text and a blank line
56    // this will be used to test, if the fgetcsv() read more than a line and its
57    // working when only a blank line is read
58    fwrite($file_handle, "This is line of text without csv fields\n");
59    fwrite($file_handle, "\n"); // blank line
60
61    // close the file if the mode to be used is read mode  and re-open using read mode
62    // else rewind the file pointer to beginning of the file
63    if ( strstr($file_modes[$mode_counter], "r" ) ) {
64      fclose($file_handle);
65      $file_handle = fopen($filename, $file_modes[$mode_counter]);
66    } else {
67      // rewind the file pointer to bof
68      rewind($file_handle);
69    }
70
71    echo "\n-- Testing fgetcsv() with file opened using $file_modes[$mode_counter] mode --\n";
72
73    // call fgetcsv() to parse csv fields
74
75    // use the right delimiter and enclosure with max length
76    var_dump( fgetcsv($file_handle, 1024, $delimiter, $enclosure) );
77    // check the file pointer position and if eof
78    var_dump( ftell($file_handle) );
79    var_dump( feof($file_handle) );
80
81    // close the file
82    fclose($file_handle);
83    //delete file
84    unlink($filename);
85  } //end of mode loop
86} // end of foreach
87
88echo "Done\n";
89?>
90--EXPECT--
91*** Testing fgetcsv() : with all parameters specified ***
92
93-- Testing fgetcsv() with file opened using r mode --
94array(2) {
95  [0]=>
96  string(5) "water"
97  [1]=>
98  string(5) "fruit"
99}
100int(14)
101bool(false)
102
103-- Testing fgetcsv() with file opened using rb mode --
104array(2) {
105  [0]=>
106  string(5) "water"
107  [1]=>
108  string(5) "fruit"
109}
110int(14)
111bool(false)
112
113-- Testing fgetcsv() with file opened using rt mode --
114array(2) {
115  [0]=>
116  string(5) "water"
117  [1]=>
118  string(5) "fruit"
119}
120int(14)
121bool(false)
122
123-- Testing fgetcsv() with file opened using r+ mode --
124array(2) {
125  [0]=>
126  string(5) "water"
127  [1]=>
128  string(5) "fruit"
129}
130int(14)
131bool(false)
132
133-- Testing fgetcsv() with file opened using r+b mode --
134array(2) {
135  [0]=>
136  string(5) "water"
137  [1]=>
138  string(5) "fruit"
139}
140int(14)
141bool(false)
142
143-- Testing fgetcsv() with file opened using r+t mode --
144array(2) {
145  [0]=>
146  string(5) "water"
147  [1]=>
148  string(5) "fruit"
149}
150int(14)
151bool(false)
152
153-- Testing fgetcsv() with file opened using a+ mode --
154array(2) {
155  [0]=>
156  string(5) "water"
157  [1]=>
158  string(5) "fruit"
159}
160int(14)
161bool(false)
162
163-- Testing fgetcsv() with file opened using a+b mode --
164array(2) {
165  [0]=>
166  string(5) "water"
167  [1]=>
168  string(5) "fruit"
169}
170int(14)
171bool(false)
172
173-- Testing fgetcsv() with file opened using a+t mode --
174array(2) {
175  [0]=>
176  string(5) "water"
177  [1]=>
178  string(5) "fruit"
179}
180int(14)
181bool(false)
182
183-- Testing fgetcsv() with file opened using w+ mode --
184array(2) {
185  [0]=>
186  string(5) "water"
187  [1]=>
188  string(5) "fruit"
189}
190int(14)
191bool(false)
192
193-- Testing fgetcsv() with file opened using w+b mode --
194array(2) {
195  [0]=>
196  string(5) "water"
197  [1]=>
198  string(5) "fruit"
199}
200int(14)
201bool(false)
202
203-- Testing fgetcsv() with file opened using w+t mode --
204array(2) {
205  [0]=>
206  string(5) "water"
207  [1]=>
208  string(5) "fruit"
209}
210int(14)
211bool(false)
212
213-- Testing fgetcsv() with file opened using x+ mode --
214array(2) {
215  [0]=>
216  string(5) "water"
217  [1]=>
218  string(5) "fruit"
219}
220int(14)
221bool(false)
222
223-- Testing fgetcsv() with file opened using x+b mode --
224array(2) {
225  [0]=>
226  string(5) "water"
227  [1]=>
228  string(5) "fruit"
229}
230int(14)
231bool(false)
232
233-- Testing fgetcsv() with file opened using x+t mode --
234array(2) {
235  [0]=>
236  string(5) "water"
237  [1]=>
238  string(5) "fruit"
239}
240int(14)
241bool(false)
242
243-- Testing fgetcsv() with file opened using r mode --
244array(2) {
245  [0]=>
246  string(5) "water"
247  [1]=>
248  string(5) "fruit"
249}
250int(16)
251bool(false)
252
253-- Testing fgetcsv() with file opened using rb mode --
254array(2) {
255  [0]=>
256  string(5) "water"
257  [1]=>
258  string(5) "fruit"
259}
260int(16)
261bool(false)
262
263-- Testing fgetcsv() with file opened using rt mode --
264array(2) {
265  [0]=>
266  string(5) "water"
267  [1]=>
268  string(5) "fruit"
269}
270int(16)
271bool(false)
272
273-- Testing fgetcsv() with file opened using r+ mode --
274array(2) {
275  [0]=>
276  string(5) "water"
277  [1]=>
278  string(5) "fruit"
279}
280int(16)
281bool(false)
282
283-- Testing fgetcsv() with file opened using r+b mode --
284array(2) {
285  [0]=>
286  string(5) "water"
287  [1]=>
288  string(5) "fruit"
289}
290int(16)
291bool(false)
292
293-- Testing fgetcsv() with file opened using r+t mode --
294array(2) {
295  [0]=>
296  string(5) "water"
297  [1]=>
298  string(5) "fruit"
299}
300int(16)
301bool(false)
302
303-- Testing fgetcsv() with file opened using a+ mode --
304array(2) {
305  [0]=>
306  string(5) "water"
307  [1]=>
308  string(5) "fruit"
309}
310int(16)
311bool(false)
312
313-- Testing fgetcsv() with file opened using a+b mode --
314array(2) {
315  [0]=>
316  string(5) "water"
317  [1]=>
318  string(5) "fruit"
319}
320int(16)
321bool(false)
322
323-- Testing fgetcsv() with file opened using a+t mode --
324array(2) {
325  [0]=>
326  string(5) "water"
327  [1]=>
328  string(5) "fruit"
329}
330int(16)
331bool(false)
332
333-- Testing fgetcsv() with file opened using w+ mode --
334array(2) {
335  [0]=>
336  string(5) "water"
337  [1]=>
338  string(5) "fruit"
339}
340int(16)
341bool(false)
342
343-- Testing fgetcsv() with file opened using w+b mode --
344array(2) {
345  [0]=>
346  string(5) "water"
347  [1]=>
348  string(5) "fruit"
349}
350int(16)
351bool(false)
352
353-- Testing fgetcsv() with file opened using w+t mode --
354array(2) {
355  [0]=>
356  string(5) "water"
357  [1]=>
358  string(5) "fruit"
359}
360int(16)
361bool(false)
362
363-- Testing fgetcsv() with file opened using x+ mode --
364array(2) {
365  [0]=>
366  string(5) "water"
367  [1]=>
368  string(5) "fruit"
369}
370int(16)
371bool(false)
372
373-- Testing fgetcsv() with file opened using x+b mode --
374array(2) {
375  [0]=>
376  string(5) "water"
377  [1]=>
378  string(5) "fruit"
379}
380int(16)
381bool(false)
382
383-- Testing fgetcsv() with file opened using x+t mode --
384array(2) {
385  [0]=>
386  string(5) "water"
387  [1]=>
388  string(5) "fruit"
389}
390int(16)
391bool(false)
392
393-- Testing fgetcsv() with file opened using r mode --
394array(2) {
395  [0]=>
396  string(5) "water"
397  [1]=>
398  string(5) "fruit"
399}
400int(16)
401bool(false)
402
403-- Testing fgetcsv() with file opened using rb mode --
404array(2) {
405  [0]=>
406  string(5) "water"
407  [1]=>
408  string(5) "fruit"
409}
410int(16)
411bool(false)
412
413-- Testing fgetcsv() with file opened using rt mode --
414array(2) {
415  [0]=>
416  string(5) "water"
417  [1]=>
418  string(5) "fruit"
419}
420int(16)
421bool(false)
422
423-- Testing fgetcsv() with file opened using r+ mode --
424array(2) {
425  [0]=>
426  string(5) "water"
427  [1]=>
428  string(5) "fruit"
429}
430int(16)
431bool(false)
432
433-- Testing fgetcsv() with file opened using r+b mode --
434array(2) {
435  [0]=>
436  string(5) "water"
437  [1]=>
438  string(5) "fruit"
439}
440int(16)
441bool(false)
442
443-- Testing fgetcsv() with file opened using r+t mode --
444array(2) {
445  [0]=>
446  string(5) "water"
447  [1]=>
448  string(5) "fruit"
449}
450int(16)
451bool(false)
452
453-- Testing fgetcsv() with file opened using a+ mode --
454array(2) {
455  [0]=>
456  string(5) "water"
457  [1]=>
458  string(5) "fruit"
459}
460int(16)
461bool(false)
462
463-- Testing fgetcsv() with file opened using a+b mode --
464array(2) {
465  [0]=>
466  string(5) "water"
467  [1]=>
468  string(5) "fruit"
469}
470int(16)
471bool(false)
472
473-- Testing fgetcsv() with file opened using a+t mode --
474array(2) {
475  [0]=>
476  string(5) "water"
477  [1]=>
478  string(5) "fruit"
479}
480int(16)
481bool(false)
482
483-- Testing fgetcsv() with file opened using w+ mode --
484array(2) {
485  [0]=>
486  string(5) "water"
487  [1]=>
488  string(5) "fruit"
489}
490int(16)
491bool(false)
492
493-- Testing fgetcsv() with file opened using w+b mode --
494array(2) {
495  [0]=>
496  string(5) "water"
497  [1]=>
498  string(5) "fruit"
499}
500int(16)
501bool(false)
502
503-- Testing fgetcsv() with file opened using w+t mode --
504array(2) {
505  [0]=>
506  string(5) "water"
507  [1]=>
508  string(5) "fruit"
509}
510int(16)
511bool(false)
512
513-- Testing fgetcsv() with file opened using x+ mode --
514array(2) {
515  [0]=>
516  string(5) "water"
517  [1]=>
518  string(5) "fruit"
519}
520int(16)
521bool(false)
522
523-- Testing fgetcsv() with file opened using x+b mode --
524array(2) {
525  [0]=>
526  string(5) "water"
527  [1]=>
528  string(5) "fruit"
529}
530int(16)
531bool(false)
532
533-- Testing fgetcsv() with file opened using x+t mode --
534array(2) {
535  [0]=>
536  string(5) "water"
537  [1]=>
538  string(5) "fruit"
539}
540int(16)
541bool(false)
542
543-- Testing fgetcsv() with file opened using r mode --
544array(2) {
545  [0]=>
546  string(5) "water"
547  [1]=>
548  string(5) "fruit"
549}
550int(16)
551bool(false)
552
553-- Testing fgetcsv() with file opened using rb mode --
554array(2) {
555  [0]=>
556  string(5) "water"
557  [1]=>
558  string(5) "fruit"
559}
560int(16)
561bool(false)
562
563-- Testing fgetcsv() with file opened using rt mode --
564array(2) {
565  [0]=>
566  string(5) "water"
567  [1]=>
568  string(5) "fruit"
569}
570int(16)
571bool(false)
572
573-- Testing fgetcsv() with file opened using r+ mode --
574array(2) {
575  [0]=>
576  string(5) "water"
577  [1]=>
578  string(5) "fruit"
579}
580int(16)
581bool(false)
582
583-- Testing fgetcsv() with file opened using r+b mode --
584array(2) {
585  [0]=>
586  string(5) "water"
587  [1]=>
588  string(5) "fruit"
589}
590int(16)
591bool(false)
592
593-- Testing fgetcsv() with file opened using r+t mode --
594array(2) {
595  [0]=>
596  string(5) "water"
597  [1]=>
598  string(5) "fruit"
599}
600int(16)
601bool(false)
602
603-- Testing fgetcsv() with file opened using a+ mode --
604array(2) {
605  [0]=>
606  string(5) "water"
607  [1]=>
608  string(5) "fruit"
609}
610int(16)
611bool(false)
612
613-- Testing fgetcsv() with file opened using a+b mode --
614array(2) {
615  [0]=>
616  string(5) "water"
617  [1]=>
618  string(5) "fruit"
619}
620int(16)
621bool(false)
622
623-- Testing fgetcsv() with file opened using a+t mode --
624array(2) {
625  [0]=>
626  string(5) "water"
627  [1]=>
628  string(5) "fruit"
629}
630int(16)
631bool(false)
632
633-- Testing fgetcsv() with file opened using w+ mode --
634array(2) {
635  [0]=>
636  string(5) "water"
637  [1]=>
638  string(5) "fruit"
639}
640int(16)
641bool(false)
642
643-- Testing fgetcsv() with file opened using w+b mode --
644array(2) {
645  [0]=>
646  string(5) "water"
647  [1]=>
648  string(5) "fruit"
649}
650int(16)
651bool(false)
652
653-- Testing fgetcsv() with file opened using w+t mode --
654array(2) {
655  [0]=>
656  string(5) "water"
657  [1]=>
658  string(5) "fruit"
659}
660int(16)
661bool(false)
662
663-- Testing fgetcsv() with file opened using x+ mode --
664array(2) {
665  [0]=>
666  string(5) "water"
667  [1]=>
668  string(5) "fruit"
669}
670int(16)
671bool(false)
672
673-- Testing fgetcsv() with file opened using x+b mode --
674array(2) {
675  [0]=>
676  string(5) "water"
677  [1]=>
678  string(5) "fruit"
679}
680int(16)
681bool(false)
682
683-- Testing fgetcsv() with file opened using x+t mode --
684array(2) {
685  [0]=>
686  string(5) "water"
687  [1]=>
688  string(5) "fruit"
689}
690int(16)
691bool(false)
692
693-- Testing fgetcsv() with file opened using r mode --
694array(2) {
695  [0]=>
696  string(11) "water=fruit"
697  [1]=>
698  string(0) ""
699}
700int(16)
701bool(false)
702
703-- Testing fgetcsv() with file opened using rb mode --
704array(2) {
705  [0]=>
706  string(11) "water=fruit"
707  [1]=>
708  string(0) ""
709}
710int(16)
711bool(false)
712
713-- Testing fgetcsv() with file opened using rt mode --
714array(2) {
715  [0]=>
716  string(11) "water=fruit"
717  [1]=>
718  string(0) ""
719}
720int(16)
721bool(false)
722
723-- Testing fgetcsv() with file opened using r+ mode --
724array(2) {
725  [0]=>
726  string(11) "water=fruit"
727  [1]=>
728  string(0) ""
729}
730int(16)
731bool(false)
732
733-- Testing fgetcsv() with file opened using r+b mode --
734array(2) {
735  [0]=>
736  string(11) "water=fruit"
737  [1]=>
738  string(0) ""
739}
740int(16)
741bool(false)
742
743-- Testing fgetcsv() with file opened using r+t mode --
744array(2) {
745  [0]=>
746  string(11) "water=fruit"
747  [1]=>
748  string(0) ""
749}
750int(16)
751bool(false)
752
753-- Testing fgetcsv() with file opened using a+ mode --
754array(2) {
755  [0]=>
756  string(11) "water=fruit"
757  [1]=>
758  string(0) ""
759}
760int(16)
761bool(false)
762
763-- Testing fgetcsv() with file opened using a+b mode --
764array(2) {
765  [0]=>
766  string(11) "water=fruit"
767  [1]=>
768  string(0) ""
769}
770int(16)
771bool(false)
772
773-- Testing fgetcsv() with file opened using a+t mode --
774array(2) {
775  [0]=>
776  string(11) "water=fruit"
777  [1]=>
778  string(0) ""
779}
780int(16)
781bool(false)
782
783-- Testing fgetcsv() with file opened using w+ mode --
784array(2) {
785  [0]=>
786  string(11) "water=fruit"
787  [1]=>
788  string(0) ""
789}
790int(16)
791bool(false)
792
793-- Testing fgetcsv() with file opened using w+b mode --
794array(2) {
795  [0]=>
796  string(11) "water=fruit"
797  [1]=>
798  string(0) ""
799}
800int(16)
801bool(false)
802
803-- Testing fgetcsv() with file opened using w+t mode --
804array(2) {
805  [0]=>
806  string(11) "water=fruit"
807  [1]=>
808  string(0) ""
809}
810int(16)
811bool(false)
812
813-- Testing fgetcsv() with file opened using x+ mode --
814array(2) {
815  [0]=>
816  string(11) "water=fruit"
817  [1]=>
818  string(0) ""
819}
820int(16)
821bool(false)
822
823-- Testing fgetcsv() with file opened using x+b mode --
824array(2) {
825  [0]=>
826  string(11) "water=fruit"
827  [1]=>
828  string(0) ""
829}
830int(16)
831bool(false)
832
833-- Testing fgetcsv() with file opened using x+t mode --
834array(2) {
835  [0]=>
836  string(11) "water=fruit"
837  [1]=>
838  string(0) ""
839}
840int(16)
841bool(false)
842
843-- Testing fgetcsv() with file opened using r mode --
844array(1) {
845  [0]=>
846  string(14) "water-fruitair"
847}
848int(18)
849bool(false)
850
851-- Testing fgetcsv() with file opened using rb mode --
852array(1) {
853  [0]=>
854  string(14) "water-fruitair"
855}
856int(18)
857bool(false)
858
859-- Testing fgetcsv() with file opened using rt mode --
860array(1) {
861  [0]=>
862  string(14) "water-fruitair"
863}
864int(18)
865bool(false)
866
867-- Testing fgetcsv() with file opened using r+ mode --
868array(1) {
869  [0]=>
870  string(14) "water-fruitair"
871}
872int(18)
873bool(false)
874
875-- Testing fgetcsv() with file opened using r+b mode --
876array(1) {
877  [0]=>
878  string(14) "water-fruitair"
879}
880int(18)
881bool(false)
882
883-- Testing fgetcsv() with file opened using r+t mode --
884array(1) {
885  [0]=>
886  string(14) "water-fruitair"
887}
888int(18)
889bool(false)
890
891-- Testing fgetcsv() with file opened using a+ mode --
892array(1) {
893  [0]=>
894  string(14) "water-fruitair"
895}
896int(18)
897bool(false)
898
899-- Testing fgetcsv() with file opened using a+b mode --
900array(1) {
901  [0]=>
902  string(14) "water-fruitair"
903}
904int(18)
905bool(false)
906
907-- Testing fgetcsv() with file opened using a+t mode --
908array(1) {
909  [0]=>
910  string(14) "water-fruitair"
911}
912int(18)
913bool(false)
914
915-- Testing fgetcsv() with file opened using w+ mode --
916array(1) {
917  [0]=>
918  string(14) "water-fruitair"
919}
920int(18)
921bool(false)
922
923-- Testing fgetcsv() with file opened using w+b mode --
924array(1) {
925  [0]=>
926  string(14) "water-fruitair"
927}
928int(18)
929bool(false)
930
931-- Testing fgetcsv() with file opened using w+t mode --
932array(1) {
933  [0]=>
934  string(14) "water-fruitair"
935}
936int(18)
937bool(false)
938
939-- Testing fgetcsv() with file opened using x+ mode --
940array(1) {
941  [0]=>
942  string(14) "water-fruitair"
943}
944int(18)
945bool(false)
946
947-- Testing fgetcsv() with file opened using x+b mode --
948array(1) {
949  [0]=>
950  string(14) "water-fruitair"
951}
952int(18)
953bool(false)
954
955-- Testing fgetcsv() with file opened using x+t mode --
956array(1) {
957  [0]=>
958  string(14) "water-fruitair"
959}
960int(18)
961bool(false)
962
963-- Testing fgetcsv() with file opened using r mode --
964array(3) {
965  [0]=>
966  string(11) "water-fruit"
967  [1]=>
968  string(3) "air"
969  [2]=>
970  string(0) ""
971}
972int(22)
973bool(false)
974
975-- Testing fgetcsv() with file opened using rb mode --
976array(3) {
977  [0]=>
978  string(11) "water-fruit"
979  [1]=>
980  string(3) "air"
981  [2]=>
982  string(0) ""
983}
984int(22)
985bool(false)
986
987-- Testing fgetcsv() with file opened using rt mode --
988array(3) {
989  [0]=>
990  string(11) "water-fruit"
991  [1]=>
992  string(3) "air"
993  [2]=>
994  string(0) ""
995}
996int(22)
997bool(false)
998
999-- Testing fgetcsv() with file opened using r+ mode --
1000array(3) {
1001  [0]=>
1002  string(11) "water-fruit"
1003  [1]=>
1004  string(3) "air"
1005  [2]=>
1006  string(0) ""
1007}
1008int(22)
1009bool(false)
1010
1011-- Testing fgetcsv() with file opened using r+b mode --
1012array(3) {
1013  [0]=>
1014  string(11) "water-fruit"
1015  [1]=>
1016  string(3) "air"
1017  [2]=>
1018  string(0) ""
1019}
1020int(22)
1021bool(false)
1022
1023-- Testing fgetcsv() with file opened using r+t mode --
1024array(3) {
1025  [0]=>
1026  string(11) "water-fruit"
1027  [1]=>
1028  string(3) "air"
1029  [2]=>
1030  string(0) ""
1031}
1032int(22)
1033bool(false)
1034
1035-- Testing fgetcsv() with file opened using a+ mode --
1036array(3) {
1037  [0]=>
1038  string(11) "water-fruit"
1039  [1]=>
1040  string(3) "air"
1041  [2]=>
1042  string(0) ""
1043}
1044int(22)
1045bool(false)
1046
1047-- Testing fgetcsv() with file opened using a+b mode --
1048array(3) {
1049  [0]=>
1050  string(11) "water-fruit"
1051  [1]=>
1052  string(3) "air"
1053  [2]=>
1054  string(0) ""
1055}
1056int(22)
1057bool(false)
1058
1059-- Testing fgetcsv() with file opened using a+t mode --
1060array(3) {
1061  [0]=>
1062  string(11) "water-fruit"
1063  [1]=>
1064  string(3) "air"
1065  [2]=>
1066  string(0) ""
1067}
1068int(22)
1069bool(false)
1070
1071-- Testing fgetcsv() with file opened using w+ mode --
1072array(3) {
1073  [0]=>
1074  string(11) "water-fruit"
1075  [1]=>
1076  string(3) "air"
1077  [2]=>
1078  string(0) ""
1079}
1080int(22)
1081bool(false)
1082
1083-- Testing fgetcsv() with file opened using w+b mode --
1084array(3) {
1085  [0]=>
1086  string(11) "water-fruit"
1087  [1]=>
1088  string(3) "air"
1089  [2]=>
1090  string(0) ""
1091}
1092int(22)
1093bool(false)
1094
1095-- Testing fgetcsv() with file opened using w+t mode --
1096array(3) {
1097  [0]=>
1098  string(11) "water-fruit"
1099  [1]=>
1100  string(3) "air"
1101  [2]=>
1102  string(0) ""
1103}
1104int(22)
1105bool(false)
1106
1107-- Testing fgetcsv() with file opened using x+ mode --
1108array(3) {
1109  [0]=>
1110  string(11) "water-fruit"
1111  [1]=>
1112  string(3) "air"
1113  [2]=>
1114  string(0) ""
1115}
1116int(22)
1117bool(false)
1118
1119-- Testing fgetcsv() with file opened using x+b mode --
1120array(3) {
1121  [0]=>
1122  string(11) "water-fruit"
1123  [1]=>
1124  string(3) "air"
1125  [2]=>
1126  string(0) ""
1127}
1128int(22)
1129bool(false)
1130
1131-- Testing fgetcsv() with file opened using x+t mode --
1132array(3) {
1133  [0]=>
1134  string(11) "water-fruit"
1135  [1]=>
1136  string(3) "air"
1137  [2]=>
1138  string(0) ""
1139}
1140int(22)
1141bool(false)
1142
1143-- Testing fgetcsv() with file opened using r mode --
1144array(6) {
1145  [0]=>
1146  string(4) """"""
1147  [1]=>
1148  string(1) """
1149  [2]=>
1150  string(1) ","
1151  [3]=>
1152  string(1) """
1153  [4]=>
1154  string(1) ","
1155  [5]=>
1156  string(4) ",,,,"
1157}
1158int(24)
1159bool(false)
1160
1161-- Testing fgetcsv() with file opened using rb mode --
1162array(6) {
1163  [0]=>
1164  string(4) """"""
1165  [1]=>
1166  string(1) """
1167  [2]=>
1168  string(1) ","
1169  [3]=>
1170  string(1) """
1171  [4]=>
1172  string(1) ","
1173  [5]=>
1174  string(4) ",,,,"
1175}
1176int(24)
1177bool(false)
1178
1179-- Testing fgetcsv() with file opened using rt mode --
1180array(6) {
1181  [0]=>
1182  string(4) """"""
1183  [1]=>
1184  string(1) """
1185  [2]=>
1186  string(1) ","
1187  [3]=>
1188  string(1) """
1189  [4]=>
1190  string(1) ","
1191  [5]=>
1192  string(4) ",,,,"
1193}
1194int(24)
1195bool(false)
1196
1197-- Testing fgetcsv() with file opened using r+ mode --
1198array(6) {
1199  [0]=>
1200  string(4) """"""
1201  [1]=>
1202  string(1) """
1203  [2]=>
1204  string(1) ","
1205  [3]=>
1206  string(1) """
1207  [4]=>
1208  string(1) ","
1209  [5]=>
1210  string(4) ",,,,"
1211}
1212int(24)
1213bool(false)
1214
1215-- Testing fgetcsv() with file opened using r+b mode --
1216array(6) {
1217  [0]=>
1218  string(4) """"""
1219  [1]=>
1220  string(1) """
1221  [2]=>
1222  string(1) ","
1223  [3]=>
1224  string(1) """
1225  [4]=>
1226  string(1) ","
1227  [5]=>
1228  string(4) ",,,,"
1229}
1230int(24)
1231bool(false)
1232
1233-- Testing fgetcsv() with file opened using r+t mode --
1234array(6) {
1235  [0]=>
1236  string(4) """"""
1237  [1]=>
1238  string(1) """
1239  [2]=>
1240  string(1) ","
1241  [3]=>
1242  string(1) """
1243  [4]=>
1244  string(1) ","
1245  [5]=>
1246  string(4) ",,,,"
1247}
1248int(24)
1249bool(false)
1250
1251-- Testing fgetcsv() with file opened using a+ mode --
1252array(6) {
1253  [0]=>
1254  string(4) """"""
1255  [1]=>
1256  string(1) """
1257  [2]=>
1258  string(1) ","
1259  [3]=>
1260  string(1) """
1261  [4]=>
1262  string(1) ","
1263  [5]=>
1264  string(4) ",,,,"
1265}
1266int(24)
1267bool(false)
1268
1269-- Testing fgetcsv() with file opened using a+b mode --
1270array(6) {
1271  [0]=>
1272  string(4) """"""
1273  [1]=>
1274  string(1) """
1275  [2]=>
1276  string(1) ","
1277  [3]=>
1278  string(1) """
1279  [4]=>
1280  string(1) ","
1281  [5]=>
1282  string(4) ",,,,"
1283}
1284int(24)
1285bool(false)
1286
1287-- Testing fgetcsv() with file opened using a+t mode --
1288array(6) {
1289  [0]=>
1290  string(4) """"""
1291  [1]=>
1292  string(1) """
1293  [2]=>
1294  string(1) ","
1295  [3]=>
1296  string(1) """
1297  [4]=>
1298  string(1) ","
1299  [5]=>
1300  string(4) ",,,,"
1301}
1302int(24)
1303bool(false)
1304
1305-- Testing fgetcsv() with file opened using w+ mode --
1306array(6) {
1307  [0]=>
1308  string(4) """"""
1309  [1]=>
1310  string(1) """
1311  [2]=>
1312  string(1) ","
1313  [3]=>
1314  string(1) """
1315  [4]=>
1316  string(1) ","
1317  [5]=>
1318  string(4) ",,,,"
1319}
1320int(24)
1321bool(false)
1322
1323-- Testing fgetcsv() with file opened using w+b mode --
1324array(6) {
1325  [0]=>
1326  string(4) """"""
1327  [1]=>
1328  string(1) """
1329  [2]=>
1330  string(1) ","
1331  [3]=>
1332  string(1) """
1333  [4]=>
1334  string(1) ","
1335  [5]=>
1336  string(4) ",,,,"
1337}
1338int(24)
1339bool(false)
1340
1341-- Testing fgetcsv() with file opened using w+t mode --
1342array(6) {
1343  [0]=>
1344  string(4) """"""
1345  [1]=>
1346  string(1) """
1347  [2]=>
1348  string(1) ","
1349  [3]=>
1350  string(1) """
1351  [4]=>
1352  string(1) ","
1353  [5]=>
1354  string(4) ",,,,"
1355}
1356int(24)
1357bool(false)
1358
1359-- Testing fgetcsv() with file opened using x+ mode --
1360array(6) {
1361  [0]=>
1362  string(4) """"""
1363  [1]=>
1364  string(1) """
1365  [2]=>
1366  string(1) ","
1367  [3]=>
1368  string(1) """
1369  [4]=>
1370  string(1) ","
1371  [5]=>
1372  string(4) ",,,,"
1373}
1374int(24)
1375bool(false)
1376
1377-- Testing fgetcsv() with file opened using x+b mode --
1378array(6) {
1379  [0]=>
1380  string(4) """"""
1381  [1]=>
1382  string(1) """
1383  [2]=>
1384  string(1) ","
1385  [3]=>
1386  string(1) """
1387  [4]=>
1388  string(1) ","
1389  [5]=>
1390  string(4) ",,,,"
1391}
1392int(24)
1393bool(false)
1394
1395-- Testing fgetcsv() with file opened using x+t mode --
1396array(6) {
1397  [0]=>
1398  string(4) """"""
1399  [1]=>
1400  string(1) """
1401  [2]=>
1402  string(1) ","
1403  [3]=>
1404  string(1) """
1405  [4]=>
1406  string(1) ","
1407  [5]=>
1408  string(4) ",,,,"
1409}
1410int(24)
1411bool(false)
1412Done
1413