查詢

FFI::arrayType()函式—用法及示例

「 建立一個 C 語言陣列型別的 FFI 型別物件 」


函式名稱:FFI::arrayType()

適用版本:PHP 7.4 及以上

用法:FFI::arrayType() 函式用於建立一個 C 語言陣列型別的 FFI 型別物件。

語法:public static FFI::arrayType(FFI\CData $type, array|int $dims) : FFI\CType

引數:

  • $type:一個 FFI\CData 物件,表示陣列元素的型別。
  • $dims:一個整數或整數陣列,表示陣列的維度。如果為整數,則表示一維陣列;如果為整數陣列,則表示多維陣列。

返回值:返回一個 FFI\CType 物件,表示建立的陣列型別。

示例:

// 建立一個 int 型別的一維陣列
$intArrayType = FFI::arrayType(FFI::type("int"), 10);

// 建立一個 float 型別的二維陣列
$floatArrayType = FFI::arrayType(FFI::type("float"), [3, 5]);

// 建立一個 struct 型別的三維陣列
$structType = FFI::new("struct { int x; float y; }");
$structArrayType = FFI::arrayType($structType, [2, 3, 4]);

在上面的示例中,我們使用 FFI::arrayType() 函式建立了不同型別的陣列。第一個示例建立了一個 int 型別的一維陣列,陣列長度為 10。第二個示例建立了一個 float 型別的二維陣列,維度為 [3, 5],即 3 行 5 列。第三個示例建立了一個 struct 型別的三維陣列,維度為 [2, 3, 4],即 2 個 3 行 4 列的結構體陣列。

建立陣列型別後,可以將其用作 FFI 類的成員變數型別,或者用於宣告函式的引數或返回值型別。

補充糾錯
上一個函式: FFI::cast()函式
下一個函式: FFI::addr()函式
熱門PHP函式
分享連結