array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'quickhashintset.exists.php', 1 => 'QuickHashIntSet::exists', 2 => 'This method checks whether a key is part of the set', ), 'up' => array ( 0 => 'class.quickhashintset.php', 1 => 'QuickHashIntSet', ), 'prev' => array ( 0 => 'quickhashintset.delete.php', 1 => 'QuickHashIntSet::delete', ), 'next' => array ( 0 => 'quickhashintset.getsize.php', 1 => 'QuickHashIntSet::getSize', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/quickhash/quickhashintset/exists.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PECL quickhash >= Unknown)
QuickHashIntSet::exists — This method checks whether a key is part of the set
This method checks whether an entry with the provided key exists in the set.
key例1 QuickHashIntSet::exists() example
<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;
echo "Creating set: ", microtime( true ), "\n";
$set = new QuickHashIntSet( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
$set->add( $key );
}
echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
$foundCount += $set->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>上の例の出力は、 たとえば以下のようになります。
Creating set: 1263588703.0748 Adding elements: 1263588703.0757 Doing 1000 tests: 1263588703.7851 Done, 898 found: 1263588703.7897