File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings / stripslashes_variation4.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:04 2012 UTC (12 years, 5 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

--TEST--
Test stripslashes() function : usage variations - double dimensional arrays
--FILE--
<?php
/* Prototype  : string stripslashes ( string $str )
 * Description: Returns an un-quoted string
 * Source code: ext/standard/string.c
*/

/*
 * Test stripslashes() with double dimensional arrays
*/

echo "*** Testing stripslashes() : with double dimensional arrays ***\n";

// initialising the string array

$str_array = array( 
                    array("", array()),
                    array("", array("")),
                    array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar")),
                    array("f\\'oo", "b\\'ar", array("")),
                    array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar", array(""))),
                    array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar", array("fo\\'o", "b\\'ar")))
                  );
function stripslashes_deep($value)  {
  $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
  return $value;
}

$count = 1;
// looping to test for all strings in $str_array
foreach( $str_array as $arr )  {
  echo "\n-- Iteration $count --\n";
  var_dump( stripslashes_deep($arr) );
  $count ++;
}

echo "Done\n";
?>
--EXPECTF--
*** Testing stripslashes() : with double dimensional arrays ***

-- Iteration 1 --
array(2) {
  [0]=>
  string(0) ""
  [1]=>
  array(0) {
  }
}

-- Iteration 2 --
array(2) {
  [0]=>
  string(0) ""
  [1]=>
  array(1) {
    [0]=>
    string(0) ""
  }
}

-- Iteration 3 --
array(3) {
  [0]=>
  string(4) "f'oo"
  [1]=>
  string(4) "b'ar"
  [2]=>
  array(2) {
    [0]=>
    string(4) "fo'o"
    [1]=>
    string(4) "b'ar"
  }
}

-- Iteration 4 --
array(3) {
  [0]=>
  string(4) "f'oo"
  [1]=>
  string(4) "b'ar"
  [2]=>
  array(1) {
    [0]=>
    string(0) ""
  }
}

-- Iteration 5 --
array(3) {
  [0]=>
  string(4) "f'oo"
  [1]=>
  string(4) "b'ar"
  [2]=>
  array(3) {
    [0]=>
    string(4) "fo'o"
    [1]=>
    string(4) "b'ar"
    [2]=>
    array(1) {
      [0]=>
      string(0) ""
    }
  }
}

-- Iteration 6 --
array(3) {
  [0]=>
  string(4) "f'oo"
  [1]=>
  string(4) "b'ar"
  [2]=>
  array(3) {
    [0]=>
    string(4) "fo'o"
    [1]=>
    string(4) "b'ar"
    [2]=>
    array(2) {
      [0]=>
      string(4) "fo'o"
      [1]=>
      string(4) "b'ar"
    }
  }
}
Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>