如何使用PHP获取实例ID

问题描述 投票:4回答:5

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

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

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

php resources object instance var-dump
5个回答
6
投票

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

$resource= curl_init();
var_dump($resource);
var_dump(intval($resource));

4
投票
(int) curl_init()

3
投票

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

<?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);
?>

1
投票

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

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

// mimic var_dump();
$type = get_resource_type($resource);
echo "resource({$id}) of type ({$type})\n";

0
投票
function get_resource_id($resource) {
    if (!is_resource($resource))
        return false;

    return array_pop(explode('#', (string)$resource));
}
© www.soinside.com 2019 - 2024. All rights reserved.