str_offset_004.phpt 946 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. --TEST--
  2. string offset 004
  3. --FILE--
  4. <?php
  5. // Test assignments using (positive and negative) string offsets
  6. $str = "abcdefghijklmno";
  7. $i = 3;
  8. $j = -4;
  9. $str[2] = 'C';
  10. var_dump($str);
  11. $str[$i] = 'Z';
  12. var_dump($str);
  13. $str[-5] = 'P';
  14. var_dump($str);
  15. $str[$j] = 'Q';
  16. var_dump($str);
  17. $str[-20] = 'Y';
  18. var_dump($str);
  19. $str[-strlen($str)] = strtoupper($str[0]); /* An exotic ucfirst() ;) */
  20. var_dump($str);
  21. $str[20] = 'N';
  22. var_dump($str);
  23. $str[-2] = 'UFO';
  24. var_dump($str);
  25. $str[-$i] = $str[$j*2];
  26. var_dump($str);
  27. ?>
  28. --EXPECTF--
  29. string(15) "abCdefghijklmno"
  30. string(15) "abCZefghijklmno"
  31. string(15) "abCZefghijPlmno"
  32. string(15) "abCZefghijPQmno"
  33. Warning: Illegal string offset -20 in %s on line %d
  34. string(15) "abCZefghijPQmno"
  35. string(15) "AbCZefghijPQmno"
  36. string(21) "AbCZefghijPQmno N"
  37. Warning: Only the first byte will be assigned to the string offset in %s on line %d
  38. string(21) "AbCZefghijPQmno UN"
  39. string(21) "AbCZefghijPQmno nUN"