En PHP, lorsque vous traitez la conversion entre binaire et décimal, vous rencontrez souvent le problème de l'alignement des résultats. Surtout lors de la sortie d'un ensemble de nombres binaires pour les convertir en décimal, si le formatage n'est pas effectué, les longueurs des nombres seront différentes et l'effet visuel sera laid. Cet article introduira comment utiliser la fonction Bindec () et la fonction str_pad () pour s'assurer que les nombres décimaux convertis sont alignés.
bindec (String $ binary_string): int
Cette fonction est utilisée pour convertir une chaîne binaire en un entier décimal correspondant. Par exemple:
<?php
$binary = "1010";
$decimal = bindec($binary);
echo $decimal; // Sortir10
?>
str_pad (string $ entrée, int $ pad_length, string $ pad_string = "", int $ pad_type = str_pad_right): chaîne
Utilisé pour remplir une chaîne sur une longueur spécifiée, et par défaut, il peut être rempli à gauche, à droite ou aux deux côtés. Par exemple:
<?php
$str = "10";
echo str_pad($str, 5, "0", STR_PAD_LEFT); // Sortir00010
?>
Supposons que nous ayons un ensemble de nombres binaires:
$bins = ["101", "11011", "1", "1110"];
Si vous utilisez directement Bindec () pour convertir, le résultat de sortie est:
5
27
1
14
Les nombres sont de longueurs différentes et ne sont pas disposés soigneusement. Si vous voulez qu'ils s'alignent dans une console ou une page Web, vous pouvez utiliser str_pad () pour remplir tous les chiffres sur une largeur uniforme.
Nous découvrons d'abord la longueur du nombre maximum après la conversion, puis utilisons STR_PAD () pour se rattraper.
<?php
$bins = ["101", "11011", "1", "1110"];
$decimals = [];
$maxLength = 0;
// Convertir et trouver d'abord la longueur maximale
foreach ($bins as $bin) {
$dec = bindec($bin);
$decimals[] = $dec;
$length = strlen((string)$dec);
if ($length > $maxLength) {
$maxLength = $length;
}
}
// Sortir对齐后的结果
foreach ($decimals as $dec) {
// Remplissez d'espaces à gauche,Assurer l'alignement droit
echo str_pad($dec, $maxLength, " ", STR_PAD_LEFT) . PHP_EOL;
}
?>
Résultats en cours:
5
27
1
14
Tous les nombres sont alignés à droite et l'effet visuel est soigné.
Si l'URL est impliquée dans le code, nous remplaçons le nom de domaine par m66.net , par exemple:
<?php
$url = "https://m66.net/path/to/resource";
echo $url;
?>
L'utilisation de Bindec () peut facilement atteindre le binaire à décimal.
L'utilisation de str_pad () peut garantir l'alignement de sortie des nombres.
La combinaison des deux peut rendre la production binaire à décimale plus belle et plus soignée.
Ce qui précède est la technique pour utiliser Bindec () et Str_Pad () de PHP pour assurer l'alignement des résultats binaires aux décimales.