函数名: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 已启用该扩展并正确配置。