039.phpt 515 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. FFI 039: Pointer arithmetic
  3. --EXTENSIONS--
  4. ffi
  5. --INI--
  6. ffi.enable=1
  7. --FILE--
  8. <?php
  9. $a = FFI::new("int[10]");
  10. for ($i = 0; $i < 10; $i++) {
  11. $a[$i] = $i;
  12. }
  13. $p = $a + 0;
  14. var_dump($p[0]);
  15. $p += 7;
  16. var_dump($p[0]);
  17. $q = $p - 3;
  18. var_dump($q[0]);
  19. $q = 1 + $q;
  20. $p++;
  21. var_dump($p, $q);
  22. var_dump($p - $q);
  23. var_dump($q - $p);
  24. var_dump($q - $a);
  25. ?>
  26. --EXPECTF--
  27. int(0)
  28. int(7)
  29. int(4)
  30. object(FFI\CData:int32_t*)#%d (1) {
  31. [0]=>
  32. int(8)
  33. }
  34. object(FFI\CData:int32_t*)#%d (1) {
  35. [0]=>
  36. int(5)
  37. }
  38. int(3)
  39. int(-3)
  40. int(5)