質問

PHPを使用して特定のオブジェクト /リソースのインスタンスIDを取得する方法を探しています。

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

var_dump()を呼び出すことなくインスタンスカウントを取得するにはどうすればよいですか?出来ますか?

役に立ちましたか?

解決

リソースIDを取得するためにINTに変換します。

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

他のヒント

(int) curl_init()

これは非常に興味深い質問です...私はあなたがこれを何のために使用するかを知りたいと思っています...しかし、ここに1つの方法があります...

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

リソースをIDに変換します sprintf()

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

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

    return array_pop(explode('#', (string)$resource));
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top