假设我们有一个 C 结构
typedef struct _Z3_ast *Z3_ast;
我们想要创建一个数组
Z3_ast args[2];
并分配值
args[1] = x;
args[1] = y;
PHP FFI 等效项将是
<?php
$ffi = FFI::cdef(...
// 创建 Z3_ast[2] 类型
$arg_type = FFI::arrayType($ffi->type('Z3_ast'), [2]);
// 创建类型为 Z3_ast[2] 的数组
$args = FFI::new($arg_type);
// 填充数组
$args[0] = $x;
$args[1] = $y;
?>