(PHP 5 >= 5.3.0, PHP 7, PHP 8)
gmp_testbit — Teste si un bit est défini
Teste si un bit est défini.
num
Un objet GMP , un entier,
ou un chaîne de caractères qui peut être interprété comme un nombre suivant la même logique
que si la chaîne était utilisée dans gmp_init() avec détection automatique de la base (c'est-à-dire lorsque base est égal à 0).
indexLe bit à tester
Une alerte de niveau E_WARNING est émise lorsque le paramètre
index est inférieur à 0 ; false sera retourné
dans ce cas.
Exemple #1 Exemple avec gmp_testbit()
<?php
$n = gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>L'exemple ci-dessus va afficher :
bool(false) bool(true)
gmp_testbit will be very useful for my (over 64-bit) bitmask checking.
In the meantime, I think these are the best replacements.
Mostly full:
<?php
(gmp_scan1($a, $index) == $index)
?>
Mostly empty:
<?php
(gmp_scan0($a, $index) != $index)
?>
Still worst-case O(N), though.