123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- --TEST--
- Test explode() function : usage variations - test values for $delimiter argument
- --FILE--
- <?php
- /* Prototype : array explode ( string $delimiter , string $string [, int $limit ] )
- * Description: Split a string by string.
- * Source code: ext/standard/string.c
- */
- echo "*** Testing explode() function: with unexpected inputs for 'delimiter' argument ***\n";
- //get an unset variable
- $unset_var = 'string_val';
- unset($unset_var);
- //defining a class
- class sample {
- public function __toString() {
- return "sample object";
- }
- }
- //getting the resource
- $file_handle = fopen(__FILE__, "r");
- // array with different values for $delimiter
- $delimiters = array (
- // integer values
- 0,
- 1,
- 255,
- 256,
- PHP_INT_MAX,
- -PHP_INT_MAX,
- // float values
- 10.5,
- -20.5,
- 10.1234567e10,
- // array values
- array(),
- array(0),
- array(1, 2),
- // boolean values
- true,
- false,
- TRUE,
- FALSE,
- // null values
- NULL,
- null,
- // objects
- new sample(),
- // resource
- $file_handle,
- // undefined variable
- @$undefined_var,
- // unset variable
- @$unset_var
- );
- // loop through with each element of the $delimiters array to test explode() function
- $count = 1;
- $string = "piece1 piece2 piece3 piece4 piece5 piece6";
- $limit = 5;
- foreach($delimiters as $delimiter) {
- echo "-- Iteration $count --\n";
- var_dump( explode($delimiter, $string, $limit) );
- $count ++;
- }
- fclose($file_handle); //closing the file handle
- ?>
- ===Done===
- --EXPECTF--
- *** Testing explode() function: with unexpected inputs for 'delimiter' argument ***
- -- Iteration 1 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 2 --
- array(2) {
- [0]=>
- string(5) "piece"
- [1]=>
- string(35) " piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 3 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 4 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 5 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 6 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 7 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 8 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 9 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 10 --
- Warning: explode() expects parameter 1 to be string, array given in %s on line %d
- NULL
- -- Iteration 11 --
- Warning: explode() expects parameter 1 to be string, array given in %s on line %d
- NULL
- -- Iteration 12 --
- Warning: explode() expects parameter 1 to be string, array given in %s on line %d
- NULL
- -- Iteration 13 --
- array(2) {
- [0]=>
- string(5) "piece"
- [1]=>
- string(35) " piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 14 --
- Warning: explode(): Empty delimiter in %s on line %d
- bool(false)
- -- Iteration 15 --
- array(2) {
- [0]=>
- string(5) "piece"
- [1]=>
- string(35) " piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 16 --
- Warning: explode(): Empty delimiter in %s on line %d
- bool(false)
- -- Iteration 17 --
- Warning: explode(): Empty delimiter in %s on line %d
- bool(false)
- -- Iteration 18 --
- Warning: explode(): Empty delimiter in %s on line %d
- bool(false)
- -- Iteration 19 --
- array(1) {
- [0]=>
- string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
- }
- -- Iteration 20 --
- Warning: explode() expects parameter 1 to be string, resource given in %s on line %d
- NULL
- -- Iteration 21 --
- Warning: explode(): Empty delimiter in %s on line %d
- bool(false)
- -- Iteration 22 --
- Warning: explode(): Empty delimiter in %s on line %d
- bool(false)
- ===Done===
|