In PHP, base_convert is a very practical built-in function that helps us convert numbers between different bases. A common use case is converting decimal numbers into binary, octal, or hexadecimal. In this article, we will take a deep dive into how to use base_convert to achieve these conversions.
The base_convert function is used to convert a number from one base to another. The basic syntax of the function is as follows:
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$number</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$from_base</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$to_base</span></span><span>);
</span></span>
$number: The number to convert, which can be a string representation of the number.
$from_base: The base of the original number, supporting bases from 2 to 36.
$to_base: The target base, also supporting bases from 2 to 36.
If we want to convert a decimal number to binary, we can use the base_convert function. For example, to convert the decimal number 15 to binary:
<span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-number">15</span></span><span>;
</span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Decimal <span class="hljs-subst">$decimal</span>" converted to binary is: " . </span><span><span class="hljs-variable">$binary</span></span><span>;
</span></span>
Output:
<span><span><span class="hljs-string">Decimal</span></span><span> </span><span><span class="hljs-number">15</span></span><span> </span><span><span class="hljs-string">converted to binary is:</span></span><span> </span><span><span class="hljs-number">1111</span></span><span>
</span></span>
In this example, we converted 15 from decimal to binary 1111.
Similarly, base_convert also supports converting decimal numbers to octal. For example, converting decimal 15 to octal:
<span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-number">15</span></span><span>;
</span><span><span class="hljs-variable">$octal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Decimal <span class="hljs-subst">$decimal</span>" converted to octal is: " . </span><span><span class="hljs-variable">$octal</span></span><span>;
</span></span>
Output:
<span><span>Decimal 15 converted to octal is: 17
</span></span>
Here, 15 was converted from decimal to octal 17.
Finally, base_convert also supports converting decimal numbers to hexadecimal. For example, converting decimal 15 to hexadecimal:
<span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-number">15</span></span><span>;
</span><span><span class="hljs-variable">$hexadecimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">16</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Decimal <span class="hljs-subst">$decimal</span>" converted to hexadecimal is: " . </span><span><span class="hljs-variable">$hexadecimal</span></span><span>;
</span></span>
Output:
<span><span>Decimal 15 converted to hexadecimal is: f
</span></span>
In this example, we converted the decimal number 15 to hexadecimal f.
Using the base_convert function, PHP provides a simple and efficient way to perform base conversions. Whether converting decimal to binary, octal, or hexadecimal, base_convert handles it easily. Its flexibility and simplicity make it a common tool in PHP development, especially when dealing with low-level data processing or displaying numbers in different base formats.
Both developers and PHP learners can quickly implement base conversions with this function, better managing numeric-related needs in their projects.