FFI::arrayType
动态构造新的C数组类型
PHP 7.4.0及以上版本。
FFI::arrayType 是 PHP 中用于创建 FFI(Foreign Function Interface)数组类型的函数。FFI 是允许 PHP 与 C 语言的库进行交互的机制,FFI::arrayType 函数可以帮助用户定义一个与 C 数组类型对应的 PHP 类型。
FFI::arrayType(string $type, int $length)
返回一个 FFI 类型,表示指定类型和长度的数组。
以下示例展示了如何使用 FFI::arrayType 来创建一个整型数组类型,并将其与 C 函数交互:
$ffi = FFI::cdef(" int sum(int arr[], int length); ", "path/to/your/library.so"); <p>$arrayType = FFI::arrayType("int", 5);<br> $array = $ffi->new($arrayType);</p> <p>$array[0] = 1;<br> $array[1] = 2;<br> $array[2] = 3;<br> $array[3] = 4;<br> $array[4] = 5;</p> <p>$sum = $ffi->sum($array, 5);<br> echo "Sum: " . $sum;<br>
在这个例子中,我们通过 FFI::arrayType 函数定义了一个长度为 5 的整型数组类型,然后用 FFI 对象创建了一个该类型的数组,并向数组中赋值。最后,调用了一个 C 函数(sum),计算数组元素的和。