bug21918.phpt 752 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. --TEST--
  2. Bug #21918 (different handling of positive vs. negative array indexes)
  3. --FILE--
  4. <?php
  5. echo "==Mixed==\n";
  6. $a = array(-1=>'a', '-2'=>'b', 3=>'c', '4'=>'d', 5=>'e', '6001'=>'f', '07'=>'g');
  7. foreach($a as $k => $v) {
  8. var_dump($k);
  9. var_dump($v);
  10. }
  11. echo "==Normal==\n";
  12. $b = array();
  13. $b[] = 'a';
  14. foreach($b as $k => $v) {
  15. var_dump($k);
  16. var_dump($v);
  17. }
  18. echo "==Negative==\n";
  19. $c = array('-2' => 'a');
  20. foreach($c as $k => $v) {
  21. var_dump($k);
  22. var_dump($v);
  23. }
  24. echo "==Done==\n";
  25. ?>
  26. --EXPECT--
  27. ==Mixed==
  28. int(-1)
  29. string(1) "a"
  30. int(-2)
  31. string(1) "b"
  32. int(3)
  33. string(1) "c"
  34. int(4)
  35. string(1) "d"
  36. int(5)
  37. string(1) "e"
  38. int(6001)
  39. string(1) "f"
  40. string(2) "07"
  41. string(1) "g"
  42. ==Normal==
  43. int(0)
  44. string(1) "a"
  45. ==Negative==
  46. int(-2)
  47. string(1) "a"
  48. ==Done==