isset_str_offset.phpt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. --TEST--
  2. Testing isset with string offsets
  3. --FILE--
  4. <?php
  5. print "- isset ---\n";
  6. $str = "test0123";
  7. var_dump(isset($str[-1]));
  8. var_dump(isset($str[0]));
  9. var_dump(isset($str[1]));
  10. var_dump(isset($str[4])); // 0
  11. var_dump(isset($str[5])); // 1
  12. var_dump(isset($str[8]));
  13. var_dump(isset($str[10000]));
  14. // non-numeric offsets
  15. print "- string ---\n";
  16. var_dump(isset($str['-1']));
  17. var_dump(isset($str['0']));
  18. var_dump(isset($str['1']));
  19. var_dump(isset($str['4'])); // 0
  20. var_dump(isset($str['1.5']));
  21. var_dump(isset($str['good']));
  22. var_dump(isset($str['3 and a half']));
  23. print "- bool ---\n";
  24. var_dump(isset($str[true]));
  25. var_dump(isset($str[false]));
  26. var_dump(isset($str[false][true]));
  27. print "- null ---\n";
  28. var_dump(isset($str[null]));
  29. print "- double ---\n";
  30. var_dump(isset($str[-1.1]));
  31. var_dump(isset($str[-0.8]));
  32. var_dump(isset($str[-0.1]));
  33. var_dump(isset($str[0.2]));
  34. var_dump(isset($str[0.9]));
  35. var_dump(isset($str[M_PI]));
  36. var_dump(isset($str[100.5001]));
  37. print "- array ---\n";
  38. var_dump(isset($str[array()]));
  39. var_dump(isset($str[array(1,2,3)]));
  40. print "- object ---\n";
  41. var_dump(isset($str[new stdClass()]));
  42. print "- resource ---\n";
  43. $f = fopen(__FILE__, 'r');
  44. var_dump(isset($str[$f]));
  45. print "done\n";
  46. ?>
  47. --EXPECTF--
  48. - isset ---
  49. bool(false)
  50. bool(true)
  51. bool(true)
  52. bool(true)
  53. bool(true)
  54. bool(false)
  55. bool(false)
  56. - string ---
  57. bool(false)
  58. bool(true)
  59. bool(true)
  60. bool(true)
  61. bool(false)
  62. bool(false)
  63. bool(false)
  64. - bool ---
  65. bool(true)
  66. bool(true)
  67. bool(false)
  68. - null ---
  69. bool(true)
  70. - double ---
  71. bool(false)
  72. bool(true)
  73. bool(true)
  74. bool(true)
  75. bool(true)
  76. bool(true)
  77. bool(false)
  78. - array ---
  79. bool(false)
  80. bool(false)
  81. - object ---
  82. bool(false)
  83. - resource ---
  84. bool(false)
  85. done