Как увидеть двоичное представление переменной

Есть ли возможность увидеть двоичное представление переменной?

Вот так:

echo decbin(3); // 11 

Другое решение:

 function d2b($dec, $n = 16) { return str_pad(decbin($dec), $n, "0", STR_PAD_LEFT); } 

Пример:

 // example: echo d2b(E_ALL); echo d2b(E_ALL | E_STRICT); echo d2b(0xAA55); echo d2b(5); Output: 0111011111111111 0111111111111111 1010101001010101 0000000000000101 

decbin(your_int) вернет строку в двоичных числах, представляющих то же значение, что и your_int , предполагая, что это то, о чем вы просите.

Или вы можете использовать функцию base_convert для преобразования кодов символов в двоичный файл, вот измененная функция:

 function str2bin($str) { $out=false; for($a=0; $a < strlen($str); $a++) { $dec = ord(substr($str,$a,1)); //determine symbol ASCII-code $bin = sprintf('%08d', base_convert($dec, 10, 2)); //convert to binary representation and add leading zeros $out .= $bin; } return $out; } 

Полезно преобразовать результат inet_pton (), чтобы сравнить адреса ipv6 в двоичном формате (поскольку вы не можете действительно преобразовать 128-битный адрес ipv6 в integer, который является 32- или 64-разрядным в php). Вы можете найти больше на ipv6 и php здесь (work-with-ipv6-addresses-in-php) и здесь (как-to-convert-ipv6-from-binary-for-storage-in-mysql) .

 <?php /** * Returns an ASCII string containing * the binary representation of the input data . **/ function str2bin($str, $mode=0) { $out = false; for($a=0; $a < strlen($str); $a++) { $dec = ord(substr($str,$a,1)); $bin = ''; for($i=7; $i>=0; $i--) { if ( $dec >= pow(2, $i) ) { $bin .= "1"; $dec -= pow(2, $i); } else { $bin .= "0"; } } /* Default-mode */ if ( $mode == 0 ) $out .= $bin; /* Human-mode (easy to read) */ if ( $mode == 1 ) $out .= $bin . " "; /* Array-mode (easy to use) */ if ( $mode == 2 ) $out[$a] = $bin; } return $out; } ?> 

Скопировано из: http://php.net/manual/en/ref.strings.php

 $a = 42; for($i = 8 * PHP_INT_SIZE - 1; $i >= 0; $i --) { echo ($a >> $i) & 1 ? '1' : '0'; } 

Как насчет: <?php $binary = (binary) $string; $binary = b"binary string"; ?> <?php $binary = (binary) $string; $binary = b"binary string"; ?>

(от php.net )