假设我们有一个 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;
?>