函式名稱: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 類的成員變數型別,或者用於宣告函式的引數或返回值型別。