PHP
Strings
Outline
o String Variables In PHP
o The Most Used Functions In PHP
o Arrays Functions
o Transforming String
o Comparing Strings
o Searching Strings
o String Replace
String Variables in PHP
• String objects are a special type of container,
specifically designed to operate with sequences of
characters.
• A string variable is used to store and manipulate text.
• String variables are used for values that contain
characters.
String Variables in PHP
• String can be defined using one of several methods,
we encapsulate them in single quotes or double
quotes .
• We using the string to display some notation .
The Most Used Functions In PHP
Strlen()
• Returns the length of the given string.
• The length of the string on success, and 0 if
the string is empty.
Int strlen(string)
Strlen()
<?php
$str = "welcome in my profile";
echo strlen($str);
?>
strtoupper()
• Returns string with all alphabetic characters
converted to uppercase.
• Returns the uppercased string.
string strtoupper ( string $string )
strtoupper()
<?php$str = “make a string uppercase ";$str = strtoupper($str);echo $str;
?>
strtolower ()
• Returns string with all alphabetic characters converted to lowercase.
• Returns the lowercased string.
string strtolower ( string $string )
strtolower()
<?php$str = “MAKE A STRING LOWERCASE ";$str = strtolower($str);echo $str;
?>
ucfirst()
• Returns a string with the first character of str capitalized, if that character is alphabetic.
• Returns the resulting string.
string ucfirst ( string $str )
ucfirst()
<?php$str = “Make a string's first character uppercase ";$str = ucfirst($str);echo $str;
?>
ucwords()
• Returns a string with the first character of each word in str capitalized, if that character is alphabetic.
• Returns the modified string.
string ucwords ( string $str )
ucwords()
<?php$str = “uppercase the first character of each word in a string ";$str = ucwords($str);echo $str;
?>
substr_count()
• substr_count() returns the number of times the needle substring occurs in the haystack string. Please note that needle is case sensitive.
• This function returns an integer.
int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )
substr_count()
<?php
echo substr_count("Hello world. The world is nice","world");
?>
explode ()
• Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the string delimiter.
• <?php// Example 1$chars = “A B C D E F";$pieces = explode(" ", $chars);echo $pieces[0]; // Aecho $pieces[1]; // B
• ?>
array explode ( string $delimiter , string $string [, int $limit ] )
implode ()
• Join array elements with a glue string.• Returns a string containing a string representation of
all the array elements in the same order, with the glue string between each element.
string implode ( string $glue , array $pieces )
string implode ( array $pieces )
implode ()
<?php
$array = array('lastname', 'email', 'phone');$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
?>
str_split ()
• Converts a string to an array.
• If the optional split_length parameter is specified, the returned array will
be broken down into chunks with each being split_length in length,
otherwise each chunk will be one character in length.
• FALSE is returned if split_length is less than 1. If the split_length length
exceeds the length of string, the entire string is returned as the first (and
only) array element.
array str_split ( string $string [, int $split_length = 1 ] )
str_split ()
• <?php
$str = "Hello Friend";
$arr1 = str_split($str);$arr2 = str_split($str, 3);
print_r($arr1);print_r($arr2);
?>
str_repeat ()
• Returns input repeated multiplier times.
<?phpecho str_repeat("-=", 10);
?>
string str_repeat ( string $input , int $multiplier )
strrev()
• Returns string, reversed.• Returns the reversed string.
string strrev ( string $string )
strrev()
<?phpecho strrev("Hello world!"); // outputs "!dlrow olle
?>
str_word_count()
• Specify the return value of this function. The current supported values
are:
• 0 - returns the number of words found
• 1 - returns an array containing all the words found inside the string
• 2 - returns an associative array, where the key is the numeric position of
the word inside the string and the value is the actual word itself
str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )
str_word_count()
<?php
$str = "Hello fri3nd, you're looking good today!";
print_r(str_word_count($str, 1));print_r(str_word_count($str, 2));print_r(str_word_count($str, 1, 'àáãç3'));
echo str_word_count($str);
?>
str_shuffle ()
• str_shuffle() shuffles a string. One permutation of all possible is created.
• Returns the shuffled string.
string str_shuffle ( string $str )
str_shuffle ()<?php
$str = 'abcdef';$shuffled = str_shuffle($str);
// This will echo something like: bfdaececho $shuffled;
?>
string str_shuffle ( string $str )
rand ()
• If called without the
optional min, max arguments rand() returns a pseudo-
random integer between 0 and getrandmax(). If you want a
random number between 5 and 15 (inclusive), for example,
use rand(5, 15)
int rand ( void )
int rand ( int $min , int $max )
rand ()
• <?phpecho rand() . "\n";echo rand() . "\n";
echo rand(5, 15);• ?>
round ()
• Returns the rounded value of val to specified precision (number of digits after the decimal point). precision can also be negative or zero (default).
• The rounded value
round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
round ()
<?phpecho round(3.4); // 3echo round(3.5); // 4echo round(3.6); // 4echo round(3.6, 0); // 4echo round(1.95583, 2); // 1.96echo round(1241757, -3); // 1242000echo round(5.045, 2); // 5.05echo round(5.055, 2); // 5.06
?>
round ()<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9
echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9
?>
max()
• If the first and only parameter is an array, max() returns the
highest value in that array. If at least two parameters are
provided, max()returns the biggest of these values.
max ( array $values )
max ( $value1 , $value2 [, $value3... ] )
max()
• max() returns the numerically highest of the parameter values. If multiple
values can be considered of the same size, the one that is listed first will
be returned.
• When max() is given multiple arrays, the longest array is returned. If all
the arrays have the same length, max() will use lexicographic ordering to
find the return value.
• When given a string it will be cast as an integer when comparing.
max()<?php
echo max(1, 3, 5, 6, 7); // 7echo max(array(2, 4, 5)); // 5
echo max(0, 'hello'); // 0echo max('hello', 0); // hello
echo max('42', 3); // '42'
echo max(-1, 'hello'); // hello
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)?>
min()
• If the first and only parameter is an array, min() returns the
lowest value in that array. If at least two parameters are
provided, min() returns the smallest of these values.
• min() returns the numerically lowest of the parameter
values.
min ( array $values )
min ( $value1 , $value2 [, $... ] )
min()
• ?php
echo min(2, 3, 1, 6, 7); // 1
echo min(array(2, 4, 5)); // 2
echo min(0, 'hello'); // 0
echo min('hello', 0); // hello
echo min('hello', -1); // -1
?>
str_pad ()
• This functions returns the input string padded on the left, the right, or
both sides to the specified padding length. If the optional
argument pad_string is not supplied, the input is padded with spaces,
otherwise it is padded with characters from pad_string up to the limit.
• Returns the padded string.
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type =
STR_PAD_RIGHT ]] )
str_pad ()
<?php$input = "Alien";echo str_pad($input, 10); // produces "Alien "echo str_pad($input, 10, "-=", STR_PAD_LEFT); // produces "-=-=-Alien"echo str_pad($input, 10, "_", STR_PAD_BOTH); // produces "__Alien___"echo str_pad($input, 6 , "___"); // produces "Alien_“
?>
wordwrap()
• Wraps a string to a given number of
characters using a string break character.• Returns the given string wrapped at the
specified length.
string wordwrap ( string $str [, int $width = 75 [, string $break = "\n" [, bool $cut = false ]]] )
wordwrap()
<?php$text = "The quick brown fox jumped over the lazy dog.";$newtext = wordwrap($text, 20, "<br />\n");echo $newtext;
?>
Array Functions
Using String As Arrays
• You can acces the individual characters of a strings as if they were
members of an array.
Ex1 :$str = “abcdef”;
echo $str[‘1’] ; // b
Or
for($i =0 ;$i < srtlen($str); $i++)
{
echo $str[$i];
}
array_push()
• array_push () Push one or more elements onto the
end of array
• Returns the new number of elements in the array.
int array_push ( array &$array , $var [, mixed $... ] )
array_push()
<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>
array_pop()
• array_pop — Pop the element off the end of array
• Returns the last value of array. If array is empty (or is not an
array), NULL will be returned.
array_pop ( array &$array )
array_pop()
<?php$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>
array_merge()
• array_merge — Merge one or more arrays
• Merges the elements of one or more arrays together so that the values of one are appended to the end of the previous one. It returns the resulting array.
• If the input arrays have the same string keys, then the later value for that key will overwrite the previous one. If, however, the arrays contain numeric
keys, the later value will not overwrite the original value, but will be appended.
• Values in the input array with numeric keys will be renumbered with incrementing keys starting from zero in the result array.
• Returns the resulting array.
array array_merge ( array $array1 [, array $... ] )
array_merge()
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", 4);
$result = array_merge($array1, $array2);
print_r ($array1);
print_r ($array2);
print_r($result);
?>
array_rand ()
• array_rand — Pick one or more random entries out of an array
• Picks one or more random entries out of an array, and returns the key (or keys) of the random entries.
• If you are picking only one entry, array_rand() returns the key for a random entry. Otherwise, it returns
an array of keys for the random entries. This is done so that you can pick random keys as well as values
out of the array.
array_rand ( array $input [, int $num_req = 1 ] )
array_rand ()
<?php
$bmw = array(“X2", “X3", “X4", “X5", “X6");
$rand_keys = array_rand($bmw, 2);
echo $bmw[$rand_keys[0]] . "\n";
echo $bmw[$rand_keys[1]] . "\n";
?
array_replace ()
• array_replace — Replaces elements from passed arrays into the first array
• array_replace() replaces the values of the first array with the same values from all the following arrays. If a key from the first array
exists in the second array, its value will be replaced by the value from the second array. If the key exists in the second array, and not
the first, it will be created in the first array. If a key only exists in the first array, it will be left as is. If several arrays are passed for
replacement, they will be processed in order, the later arrays overwriting the previous values.
• array_replace() is not recursive : it will replace values in the first array by whatever type is in the second array.
• Returns an array, or NULL if an error occurs.
array array_replace ( array $array , array $array1 [, array $... ] )
array_replace () <?php
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");
$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);
?>
range ()
• range — Create an array containing a range of elements
• Returns an array of elements from start to limit, inclusive.
array range ( mixed $start , mixed $limit [, number $step = 1 ] )
range () <?php
$numbers = range(0, 12) ;// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach ($numbers as $num) { echo $num; }
// The step parameter was introduced in 5.0.0
$numbers = range(0, 100, 10) ;// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach ( $numbers as $num) {echo $num; }
// Use of character sequences introduced in 4.1.0
$letters = range('a', 'i'); // array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach ($letters as $let) { echo $let; }
$letters = range('c', 'a') // array('c', 'b', 'a');
foreach ($letters as $let) { echo $let; }
?>
shuffle ()
• This function shuffles (randomizes the order of the elements
in) an array.
• Returns TRUE on success or FALSE on failure.
bool shuffle ( array &$array )
shuffle ()
<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>
asort ()
• asort — Sort an array and maintain index association
• This function sorts an array such that array indices maintain their correlation with the array elements
they are associated with. This is used mainly when sorting associative arrays where the actual element
order is significant.
• Returns TRUE on success or FALSE on failure.
bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
asort ()
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
usort ()
• usort — Sort an array by values using a user-defined comparison function
• This function will sort an array by its values using a user-supplied comparison function. If
the array you wish to sort needs to be sorted by some non-trivial criteria, you should use
this function.
• Returns TRUE on success or FALSE on failure.
bool usort ( array &$array , callable $cmp_function )
usort () <?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>
ksort ()
• Sorts an array by key, maintaining key to data correlations.
This is useful mainly for associative arrays.
• Returns TRUE on success or FALSE on failure.
bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
ksort ()
<?php$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
array_fill ()
• Fills an array with num entries of the value of the value parameter,
keys starting at the start_index parameter.
• Returns the filled array.
array array_fill ( int $start_index , int $num , mixed $value )
array_fill ()
<?php$a = array_fill(5, 6, 'banana');$b = array_fill(-2, 4, 'pear');print_r($a);print_r($b);
?>
empty ()
• Determine whether a variable is considered to be empty. A
variable is considered empty if it does not exist or if its value
equals FALSE. empty() does not generate a warning if the
variable does not exist.
bool empty ( $var )
empty () • Returns FALSE if var exists and has a non-empty, non-zero value. Otherwise returns TRUE.
• The following things are considered to be empty:
• "" (an empty string)
• 0 (0 as an integer)
• 0.0 (0 as a float)
• "0" (0 as a string)
• NULL
• FALSE
• array() (an empty array)
• $var; (a variable declared, but without a value)
empty ()
<?php
$arr = array();
If(empty($arr))
Echo “empty array”;
?>
Transforming String
Transforming String
• If given two arguments, the second should be an array in the
form array('from' => 'to', ...). The return value is
a string where all the occurrences of the array keys have been
replaced by the corresponding values. The longest keys will
be tried first. Once a substring has been replaced, its new
value will not be searched again.
string strtr ( string $str , array $replace_pairs )
Transforming String
<?php
$arr = array("Hello" => "Hi", "world" => "earth");
echo strtr("Hello world",$arr);
?>
Output : Hi earth
Transforming String
• The strtr() If given three arguments, this function returns a
copy of str where all occurrences of each (single-byte)
character in from have been translated to the corresponding
character in to, i.e., every occurrence of $from[$n] has been
replaced with $to[$n], where $n is a valid offset in both
arguments.;
string strtr ( string $str , string $from , string $to )
Transforming String
• <?php
echo strtr("Hilla Warld","ia","eo");
?>
• Output : Hello World
Comparing Strings
Comparing Strings
• You can comparison between strings by more than one method ,the PHP when
comparison it make convert the data type to other if the data type not the same.
• Ex1:
• <?php
If(“123aa” == 123)
{
echo “done”;
}
?>
Comparing Strings
• This comparison is case sensitive.
• Returns < 0 if str1 is less than str2; > 0 if str1 is
greater than str2, and 0 if they are equal.
int strcmp ( string $str1 , string $str2 )
Comparing Strings
• <?php
echo strcmp("Hello world!","Hello
world!");
?>
• Output : 0
Comparing Strings
• Binary safe case-insensitive string comparison.
• Returns < 0 if str1 is less than str2; > 0 if str1 is
greater than str2, and 0 if they are equal.
int strcasecmp ( string $str1 , string $str2 )
Comparing Strings
<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}
?>
Comparing Strings-example<?php
$str = "Ali";
if(strcmp($str , "ali") == 0)
{
//we won't get here , becuse of case sensitivity
}
if(strcasecmp($str , "ali") == 0)
{
we well get here becuse strcasecmp() is case-insensitive
}
?>
Comparing Strings-example
<?php$st1 = “abcd1234”;$st2 = “abcd5678”;echo strncasecmp ($st1,$st2,4);
?>
Searching Strings
Searching Strings
• Find the numeric position of the first occurrence
of needle in the haystack string.
• Returns the position of where the needle exists relative to
the beginning of the haystack string (independent of
offset). Also note that string positions start at 0, and not 1.
• Returns FALSE if the needle was not found.
int strpos ( string $haystack , $needle [, int $offset = 0 ] )
Searching Strings
• <?php
echo strpos("Hello world!","wo");
?>
• Output : 6
Searching Strings-Example
<?php$str =“abcdef”;$se_str = “abc”;If(strpos($str,$se_srt) !== false){ echo “found”;}
?>
Searching Strings-Example
<?php$str ='1234567';$se_str = '123';echo strpos($str,$se_str,1); //false
?>
Searching Strings-Example
<?php$str ='123456';$se_str = ‘34';echo strtr($str,$se_str,1); // 3456?>
String Replace
• This function returns a string or an array with all occurrences
of search in subject replaced with the given replace value.
• This function returns a string or an array with all occurrences of search in subject (ignoring case) replaced with the given replace value.
• eplaces a copy of string delimited by the start and
(optionally) length parameters with the string given inreplacement.
str_replace ( $search , $replace , $subject [, int &$count ] )
str_ireplace ( $search , $replace , $subject [, int &$count ] )
substr_replace ( $string , $replacement , $start [, $length ] )
String Replace-example
<?phpecho str_raplace(“Mr”,”Welcom”,”Mr Ali”);echo str_iraplace(“Mr”,”Welcom”,”Mr Ali”);
?>
String Replace -exmple
<?php$a = 0;echo str_raplace(“a”,”b”,”a1a1a1”,$a);echo $a // 3
?>
String Replace -exmple
<?phpecho substr_raplace(“welecom ali ”,”hi”,7);echo substr_raplace(“welecom my brother ali
”,”mr”,9,10);
?>
String Replace -exmple
<?php$str = “123456789”;echo substr($str,0,3);//123echo substr($str,1,1);//2echo substr($str,-2);//89echo substr($str,-2,1);//8
?>
str_replace()
<?phpecho str_replace("world","Peter","Hello world!");?>
str_replace()
<?php$arr = array("blue","red","green","yellow");print_r(str_replace("red","pink",$arr,$i));echo "Replacements: $i";
?>
str_replace()
<?php$arr = array("blue","red","green","yellow");print_r(str_replace("red","pink",$arr,$i));echo "Replacements: $i";
?>