函式名:FFI::string()
函式描述:FFI::string() 函式將從 C 程式碼中返回的字串轉換為 PHP 字串。
適用版本:PHP 7.4.0 或更高版本
用法:
public static function string(FFI\CData $cdata): string
引數:
$cdata
:一個指向 C 字串的指標。
返回值:
- 返回一個 PHP 字串。
示例:
// 定義 C 程式碼
$cCode = <<<EOT
#include <stdio.h>
#include <stdlib.h>
char* getString() {
return "Hello, World!";
}
EOT;
// 建立 FFI 物件並載入 C 程式碼
$ffi = FFI::cdef($cCode, "C");
// 呼叫 C 函式並轉換返回值為 PHP 字串
$result = FFI::string($ffi->getString());
// 輸出結果
echo $result; // 輸出:Hello, World!
上述示例中,我們首先定義了一個 C 函式 getString()
,該函式返回一個字串 "Hello, World!"。然後,我們使用 FFI 擴充套件載入了這段 C 程式碼,並建立了一個 FFI 物件 $ffi
。最後,透過呼叫 FFI::string()
函式,我們將 C 程式碼中返回的字串轉換為 PHP 字串,並將其列印出來。
注意:在使用 FFI 擴充套件之前,需要確保 PHP 已啟用該擴充套件並正確配置。