PHP program to convert string to uppercase without using the library function

Logic to convert the given string in uppercase string without using the library function in PHP. By Bhanu Sharma Last updated : December 19, 2023

Prerequisites

To understand this example, you should have the basic knowledge of the following PHP topics:

Converting String to Uppercase W/O Using Library Function

Given a string and we have to convert it into uppercase string without using any library function.

PHP code to convert string to uppercase w/o using library function

<?php
//function definition
//this function accepts a string/text, converts
//text to uppercase and return the uppercase converted string
function upperCase($str)
{
    $chars  = str_split($str);
    $result = '';
    
    //loop from 0th character to the last character
    for ($i = 0; $i < count($chars); $i++) {
        //extracting the character and getting its ASCII value
        $ch = ord($chars[$i]);
        
        //if character is a lowercase alphabet then converting 
        //it into an uppercase alphabet
        if ($chars[$i] >= 'a' && $chars[$i] <= 'z')
            $result .= chr($ch - 32);
        
        else
            $result .= $chars[$i];
        
    }
    //finally, returning the string
    return $result;
}

//function calling
$text = "hello world";
echo upperCase($text);
echo "<br>";

$text = "Hello world!";
echo upperCase($text);
echo "<br>";

$text = "[email protected]";
echo upperCase($text);
echo "<br>";

?>

Output

HELLO WORLD
HELLO WORLD!
[email protected]

Code Explanation

We convert the string ($str) into an array of characters ($chars) then calculate their ASCII value using ord() function. Since we know that in ASCII, the Upper Case characters come exactly 32 places before the lower case equivalent, we subtract 32 from the ASCII value and then convert it back to the character using the chr() function. The output is stored in the $result variable.

This program is a good proof of concept.

PHP String Programs »

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.