Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<gmp_scan0gmp_setbit>
^GMP FunctionsLast updated: Mon, 26 Oct 2026

gmp_scan1

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_scan1 — Scan for 1

Description

function gmp_scan1(GMP|int|string $num1, int $start): int

Scans num1, starting with bit start, towards more significant bits, until the first set bit is found.

Parameters

num1

The number to scan.

A GMP object, an int, or a string that can be interpreted as a number following the same logic as if the string was used in gmp_init() with automatic base detection (i.e. when base is equal to 0).

start

The starting bit.

Return Values

Returns the index of the found bit, as an int. If no set bit is found, -1 is returned.

Errors/Exceptions

Throws a ValueError if start is negative or, as of PHP 8.5.0, too large.

Prior to PHP 8.0.0, an E_WARNING was raised instead.

Examples

Example #1 gmp_scan1() example

<?php
// "1" bit is found at position 3. index starts at 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// "1" bit is found at position 9. index starts at 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

The above example will output:

3
9


<gmp_scan0gmp_setbit>
^GMP FunctionsLast updated: Mon, 26 Oct 2026