008.phpt 672 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. FFI 008: Array iteration
  3. --EXTENSIONS--
  4. ffi
  5. --INI--
  6. ffi.enable=1
  7. --FILE--
  8. <?php
  9. $a = FFI::new("int[3]");
  10. $a[1] = 10;
  11. $a[2] = 20;
  12. var_dump(count($a));
  13. foreach ($a as $key => $val) {
  14. echo "$key => $val\n";
  15. }
  16. $a = FFI::new("struct {int x,y;}");
  17. try {
  18. var_dump(count($a));
  19. } catch (Throwable $e) {
  20. echo get_class($e) . ": " . $e->getMessage()."\n";
  21. }
  22. try {
  23. foreach ($a as $key => $val) {
  24. echo "$key => $val\n";
  25. }
  26. } catch (Throwable $e) {
  27. echo get_class($e) . ": " . $e->getMessage()."\n";
  28. }
  29. ?>
  30. --EXPECT--
  31. int(3)
  32. 0 => 0
  33. 1 => 10
  34. 2 => 20
  35. FFI\Exception: Attempt to count() on non C array
  36. FFI\Exception: Attempt to iterate on non C array