Position actuelle: Accueil> Derniers articles> Comment convertir un tableau booléen en un nombre décimal à l'aide de liingc ()? Vous apprendre à mettre en œuvre une cartographie simple

Comment convertir un tableau booléen en un nombre décimal à l'aide de liingc ()? Vous apprendre à mettre en œuvre une cartographie simple

M66 2025-06-23

En PHP, le traitement des tableaux booléens et les convertir en nombres décimaux sont une exigence commune, en particulier dans la cartographie des données, le contrôle de l'autorisation ou le traitement d'identification binaire. Cet article présentera comment utiliser la fonction intégrée PHP Bindec () combinée avec des tableaux booléens pour réaliser une conversion concise et efficace des tableaux booléens en nombres décimaux.


1. Introduction à Bindec ()

Bindec () est une fonction que PHP utilise pour convertir les chaînes binaires en nombres décimaux. Par exemple:

 <?php
echo bindec("1011"); // Sortir 11
?>

Il accepte une chaîne composée de caractères «0» et «1» et renvoie l'entier décimal correspondant.


2. Idée de conversion du tableau booléen

Les éléments d'un tableau booléen sont vrais ou faux , et nous pouvons les considérer comme 1 et 0 en nombre binaire. Par exemple:

 $array = [true, false, true]; // Binaire correspondant 101

Les étapes sont:

  1. Carte le tableau booléen à la chaîne «1» ou «0» .

  2. Utilisez Bindec () pour convertir une chaîne en un numéro décimal.


3. Exemple de code

Voici une démonstration de code complète montrant comment convertir un tableau booléen en un numéro décimal:

 <?php
// Booléen
$boolArray = [true, false, true, true]; // Binaire correspondant 1011

// Convertir les valeurs booléennes en chaînes '1' ou '0'
$binaryString = implode('', array_map(function($b) {
    return $b ? '1' : '0';
}, $boolArray));

// utiliser bindec() Convertir en chiffre décimal
$decimalNumber = bindec($binaryString);

echo "Booléen转换的Binaire字符串是: " . $binaryString . "\n";
echo "Le nombre décimal converti à: " . $decimalNumber . "\n";
?>

Résultats en cours:

 Booléen转换的Binaire字符串是: 1011
Le nombre décimal converti à: 11

4. Scénarios d'application

  • Contrôle d'autorisation : Utilisez un tableau booléen pour représenter les autorisations et les convertir en code d'autorisation décimale pour stocker la base de données pour une requête facile.

  • Flag Bitmap : mappez plusieurs indicateurs booléens en un seul numéro pour une compression et une transmission faciles de données.

  • Encodage d'état : codage binaire de l'appareil ou de l'état du système.


5. Choses à noter

  • L'ordre des valeurs booléennes dans un tableau détermine l'ordre des bits binaires, et généralement le premier élément du tableau correspond au bit le plus élevé.

  • Si le tableau booléen est vide, le résultat de la conversion est 0.

  • S'il y a des types non boooliens dans le tableau, il est recommandé d'effectuer d'abord la vérification de type ou la conversion.


6. Extension avancée: cartographie de longueur dynamique

Il peut convertir des tableaux booléens de n'importe quelle longueur pour faciliter la gestion des drapeaux dynamiques:

 <?php
function boolArrayToDecimal(array $boolArray): int {
    $binaryString = implode('', array_map(fn($b) => $b ? '1' : '0', $boolArray));
    return bindec($binaryString);
}

// Exemple d&#39;appel
$flags = [false, true, true, false, true]; // Binaire 01101
echo boolArrayToDecimal($flags); // Sortir 13
?>

Grâce à cet exemple, vous avez appris à utiliser la fonction Bindec () de PHP, combinée avec des tableaux booléens, pour réaliser une conversion de cartographie simple. J'espère que vous pourrez appliquer cette technique au développement réel pour améliorer l'efficacité du codage et la maintenabilité du code.