bug21918.phpt 742 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. ?>
  25. --EXPECT--
  26. ==Mixed==
  27. int(-1)
  28. string(1) "a"
  29. int(-2)
  30. string(1) "b"
  31. int(3)
  32. string(1) "c"
  33. int(4)
  34. string(1) "d"
  35. int(5)
  36. string(1) "e"
  37. int(6001)
  38. string(1) "f"
  39. string(2) "07"
  40. string(1) "g"
  41. ==Normal==
  42. int(0)
  43. string(1) "a"
  44. ==Negative==
  45. int(-2)
  46. string(1) "a"