011.phpt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. --TEST--
  2. property_exists() tests
  3. --FILE--
  4. <?php
  5. class foo {
  6. public $pp1 = 1;
  7. private $pp2 = 2;
  8. protected $pp3 = 3;
  9. function bar() {
  10. var_dump(property_exists("foo","pp1"));
  11. var_dump(property_exists("foo","pp2"));
  12. var_dump(property_exists("foo","pp3"));
  13. }
  14. }
  15. class bar extends foo {
  16. function test() {
  17. var_dump(property_exists("foo","pp1"));
  18. var_dump(property_exists("foo","pp2"));
  19. var_dump(property_exists("foo","pp3"));
  20. }
  21. }
  22. var_dump(property_exists());
  23. var_dump(property_exists(""));
  24. var_dump(property_exists("foo","pp1"));
  25. var_dump(property_exists("foo","pp2"));
  26. var_dump(property_exists("foo","pp3"));
  27. var_dump(property_exists("foo","nonexistent"));
  28. var_dump(property_exists("fo","nonexistent"));
  29. var_dump(property_exists("foo",""));
  30. var_dump(property_exists("","test"));
  31. var_dump(property_exists("",""));
  32. $foo = new foo;
  33. var_dump(property_exists($foo,"pp1"));
  34. var_dump(property_exists($foo,"pp2"));
  35. var_dump(property_exists($foo,"pp3"));
  36. var_dump(property_exists($foo,"nonexistent"));
  37. var_dump(property_exists($foo,""));
  38. var_dump(property_exists(array(),"test"));
  39. var_dump(property_exists(1,"test"));
  40. var_dump(property_exists(true,"test"));
  41. $foo->bar();
  42. $bar = new bar;
  43. $bar->test();
  44. echo "Done\n";
  45. ?>
  46. --EXPECTF--
  47. Warning: property_exists() expects exactly 2 parameters, 0 given in %s on line %d
  48. NULL
  49. Warning: property_exists() expects exactly 2 parameters, 1 given in %s on line %d
  50. NULL
  51. bool(true)
  52. bool(true)
  53. bool(true)
  54. bool(false)
  55. bool(false)
  56. bool(false)
  57. bool(false)
  58. bool(false)
  59. bool(true)
  60. bool(true)
  61. bool(true)
  62. bool(false)
  63. bool(false)
  64. Warning: First parameter must either be an object or the name of an existing class in %s on line %d
  65. NULL
  66. Warning: First parameter must either be an object or the name of an existing class in %s on line %d
  67. NULL
  68. Warning: First parameter must either be an object or the name of an existing class in %s on line %d
  69. NULL
  70. bool(true)
  71. bool(true)
  72. bool(true)
  73. bool(true)
  74. bool(true)
  75. bool(true)
  76. Done