Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Opérations bit à bit sur les chaînes

<?php


var_dump( 1 & 3);      // 1

var_dump( "b" & "a");  // `
var_dump( chr(ord("b") & ord("a")));

var_dump( "1" & "a");  // ! 
// type error
//var_dump( 1 & "a");

var_dump( "1" & "4"); // 0
var_dump( chr(ord("1") & ord("4")));  // 0

Les opérateurs bit à bit &, | et ^ fonctionnent sur les entiers, et utilisent les nombres comme un champ de bits : chaque bit des nombres est comparé avec l’opérateur, et défini en conséquence dans le résultat.

Ces mêmes opérateurs fonctionnent aussi sur les chaînes, où la chaîne est traitée comme une donnée binaire.

Depuis PHP 8.0, c’est une erreur d’avoir des types différents des deux côtés des opérateurs bit à bit. Les autres types génèrent également une erreur, comme avec les tableaux, les objets, etc.

En cas de doute, préférez utiliser les opérateurs logiques.

See Also

PHP Error Messages

PHP Features

Last updated: 22 October 2026