(PHP 7 >= 7.4.0, PHP 8)
FFI\CData 对象可以用作常规 PHP 数据,方法有很多种。
$x = FFI::new('int'); $x->cdata = 42;
$cdata->field
$cdata[$offset]
$cdata[0]
<
, <=
, ==
, !=
, >=
, >
) 比较 C 指针。
+
/-
/ ++
/--
运算符递增和递减 C 指针,例如 $cdata += 5
-
运算符从另一个 C 指针中减去 C 指针。
$cdata()
$cdata2 = clone $cdata;
注意:值得注意的限制是 FFI\CData 实例不支持 isset()、empty() 和 unset(),并且包装的 C 结构体和联合体没有实现 Traversable 接口。
版本 | 描述 |
---|---|
8.3.0 | FFI\CData 现在可以赋值给结构体和字段。 |