如何使用PHP获取实例ID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用PHP获取实例ID相关的知识,希望对你有一定的参考价值。

我正在寻找一种方法来获取php的给定对象/资源的实例ID,就像var_dump()一样:

var_dump(curl_init()); // resource #1 of type curl
var_dump(curl_init()); // resource #2 of type curl

如何在不调用var_dump()的情况下获取实例计数?可能吗?

答案

将其转换为int以获取资源ID:

$resource= curl_init();
var_dump($resource);
var_dump(intval($resource));
另一答案
(int) curl_init()
另一答案

这是一个非常有趣的问题......我很想知道你会用它来做什么......但这是一种方式......

<?php 
$ch = curl_init();
preg_match("#d+#", (string) $ch, $matches);
$resourceIdOne = end($matches);


$ch2 = curl_init();
preg_match("#d+#", (string) $ch2, $matches);
$resourceIdTwo = end($matches);
?>
另一答案

使用sprintf()将资源转换为id

$resource = curl_init();
$id = sprintf('%x', $resource);

// mimic var_dump();
$type = get_resource_type($resource);
echo "resource({$id}) of type ({$type})
";
另一答案
function get_resource_id($resource) {
    if (!is_resource($resource))
        return false;

    return array_pop(explode('#', (string)$resource));
}

以上是关于如何使用PHP获取实例ID的主要内容,如果未能解决你的问题,请参考以下文章

获取 backstack 中的最新片段

Android Jetpack Navigation:如何在 OnNavigatedListener 中获取目的地的片段实例?

没有使用 navController.currentDestination?.id 获取当前片段 ID

如何从URL获取片段标识符(hash#之后的值)?

从 dbid 获取片段 ID

如何在php脚本中接受PostgreSQL数据库数量?