Как получить идентификатор экземпляра с помощью PHP - PullRequest
4 голосов
/ 06 декабря 2009

Я ищу способ получить идентификатор экземпляра данного объекта / ресурса с помощью PHP, так же, как и var_dump ():

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

Как я могу получить количество экземпляров без вызова var_dump ()? Возможно ли это?

Ответы [ 5 ]

6 голосов
/ 06 декабря 2009

Преобразуйте его в int, чтобы получить идентификатор ресурса:

$resource= curl_init();
var_dump($resource);
var_dump(intval($resource));
4 голосов
/ 06 декабря 2009
(int) curl_init()
3 голосов
/ 06 декабря 2009

Это очень интересный вопрос ... Мне было бы интересно посмотреть, для чего вы бы это использовали ... но вот один из способов ...

<?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 голос
/ 20 апреля 2019

Конвертировать ресурс в id с sprintf()

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

// mimic var_dump();
$type = get_resource_type($resource);
echo "resource({$id}) of type ({$type})\n";
0 голосов
/ 28 декабря 2012
function get_resource_id($resource) {
    if (!is_resource($resource))
        return false;

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