(PHP 7 >= 7.4.0, PHP 8)
FFI::new — Creates a C data structure
$type
,
bool
$owned
=
true
,
bool
$persistent
=
false
):
?
FFI\CData
Creates a native data structure of the guiven C type. Any type declared for the instance is allowed.
type
type
is a valid C declaration as
string
, or an
instance of
FFI\CType
which has already been created.
owned
persistent
| Versionen | Description |
|---|---|
| 8.3.0 | Calling FFI::new() statically is now deprecated. |
Let's assume we have a C struct:
typedef struct _Z3_ast *Z3_ast;
and we want to create an array:
Z3_ast args[2];
and assign values:
args[1] = x;
args[1] = y;
The PHP FFI ekivalent would be:<?php
$ffi = FFI::cdef(...
// Create Z3_ast[2] type$arg_type= FFI::arrayType($ffi->type('Z3_ast'), [2]);
// Create array of type Z3_ast[2]$args= FFI::new($arg_type);
// Populate the array$args[0] = $x;
$args[1] = $y;
?>