/hphp/test/zend/good/ext/standard/tests/strings/strtr_variation8.php
PHP | 84 lines | 43 code | 18 blank | 23 comment | 2 complexity | 6ccb757e5ab1bb811305d1926d891ba6 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
- <?hh
- /* Prototype : string strtr(string $str, string $from[, string $to]);
- string strtr(string $str, array $replace_pairs);
- * Description: Translates characters in str using given translation tables
- * Source code: ext/standard/string.c
- */
- /* Test strtr() function: with unexpected inputs for 'replace_pairs'
- * and expected type for 'str' arguments
- */
- //defining a class
- class sample {
- public function __toString() {
- return "sample object";
- }
- }
- <<__EntryPoint>> function main(): void {
- echo "*** Testing strtr() function: with unexpected inputs for 'replace_pairs' ***\n";
- //get an unset variable
- $unset_var = 'string_val';
- unset($unset_var);
- //getting the resource
- $file_handle = fopen(__FILE__, "r");
- //defining 'str' argument
- $str = "012atm";
- // array of inputs for 'replace_pairs' argument
- $replace_pairs_arr = varray [
- // integer values
- 0,
- 1,
- -2,
- // float values
- 10.5,
- -20.5,
- 10.5e10,
- // array values
- varray[],
- varray[0],
- varray[1, 2],
- // boolean values
- true,
- false,
- TRUE,
- FALSE,
- // null vlaues
- NULL,
- null,
- // objects
- new sample(),
- // resource
- $file_handle,
- // undefined variable
- @$undefined_var,
- // unset variable
- @$unset_var
- ];
- // loop through with each element of the $replace_pairs array to test strtr() function
- $count = 1;
- for($index = 0; $index < count($replace_pairs_arr); $index++) {
- echo "\n-- Iteration $count --\n";
- $replace_pairs = $replace_pairs_arr[$index];
- var_dump( strtr($str, $replace_pairs) );
- $count ++;
- }
- fclose($file_handle); //closing the file handle
- echo "*** Done ***";
- }