Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
55 views

PHP 3 (Arrays-Associative-Strings)

The document discusses associative arrays and strings in PHP. It covers initializing and accessing associative arrays, iterating through them, and examples. It also covers string syntax, interpolation, concatenation, manipulation functions like length, position, replacing, and case changing.

Uploaded by

Md Ali Sami
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views

PHP 3 (Arrays-Associative-Strings)

The document discusses associative arrays and strings in PHP. It covers initializing and accessing associative arrays, iterating through them, and examples. It also covers string syntax, interpolation, concatenation, manipulation functions like length, position, replacing, and case changing.

Uploaded by

Md Ali Sami
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

Associative Arrays and Strings

Associati ve Arrays,
Strings and String Operati ons

SoftUni Team
Technical Trainers
Software University
http://softuni.bg
Table of Contents
1. Associative Arrays
 Array Manipulation
 Multidimensional Arrays
2. Strings
 String Manipulation
 Regular Expressions

2
Associative Arrays
Associative Arrays (Maps, Dictionaries)
 Associative arrays are arrays indexed by keys
 Not by the numbers 0, 1, 2, 3, …

 Hold a set of pairs <key, value>


 Traditional array  Associative array
key value
key 0 1 2 3 4 orange 2.30
value 8 -3 12 408 33 apple 1.50
tomato 3.80
4
Phonebook – Associative Array Example

$phonebook = [];
$phonebook["John Smith"] = "+1-555-8976"; // Add
$phonebook["Lisa Smith"] = "+1-555-1234";
$phonebook["Sam Doe"] = "+1-555-5030";
$phonebook["Nakov"] = "+359-899-555-592";
$phonebook["Nakov"] = "+359-2-981-9819"; //

unset(phonebook["John Smith"]); // Delete


echo count(phonebook); // 3
5
Associative Arrays in PHP
 Initializing an associative array:
$people = array(
'Gero' => '0888-257124', 'Pencho' => '0888-3188822');

 Accessing elements by index:


echo $people['Pencho']; // 0888-3188822

 Inserting / deleting elements:


$people['Gosho'] = '0237-51713'; // Add 'Gosho'
unset($people['Pencho']); // Remove 'Pencho'
print_r($people); // Array([Gero] => 0888-257124 [Gosho] => 0237-51713)

6
Iterating Through Associative Arrays
 foreach ($array as $key => $value)
 Iterates through each of the key-value pairs in the array

$greetings = ['UK' => 'Good morning', 'France' => 'Bonjour',


'Germany' => 'Gutten tag', 'Bulgaria' => 'Ko staa'];

foreach ($greetings as $key => $value) {


echo "In $key people say \"$value\".";
echo "<br>";
}

7
Problem: Sum by Town
 Read towns and incomes (like shown below) and print a array
holding the total income for each town (see below)
Sofia  Print the towns in their natural order as
20 object properties
Varna
3
Sofia
["Sofia" => "25","Varna" => "7"]
5
Varna
4
8
Solution: Sum of Towns
$arr = ['Sofia','20', 'Varna','10', 'Sofia','5'];
$sums = [];
for ($i = 0; $i < count($arr); $i += 2) {
list($town, $income) = [$arr[$i], $arr[$i+1]];
if ( ! isset($sums[$town]))
$sums[$town] = $income;
else
$sums[$town] += $income; list($town,..)
} Assign variables as if
they were an array
print_r($sums);

9
Problem: Counting Letters in Text
$text = "Learning PHP is fun! ";
$letters = [];
$text = strtoupper($text);
for ($i = 0; $i < strlen($text); $i++) {
$char = $text[$i];
if (ord($char) >= ord('A') && ord($char) <= ord('Z')) {
if (isset($letters[$char])) {
$letters[$char]++;
} else { isset($array[$i])
$letters[$char] = 1; checks if the key exists
}
}
}
print_r($letters);
10
Strings
Strings
 A string is a sequence of characters
 Can be assigned a literal constant or a variable
 Text can be enclosed in single (' ') or double quotes (" ")

<?php
$person = '<span class="person">Mr. Svetlin Nakov</span>';
$company = "<span class='company'>Software University</span>";
echo $person . ' works @ ' . $company;
?>

12
String Syntax
 Single quotes are acceptable in double quoted strings
echo "<p>I'm a Software Developer</p>";

 Double quotes are acceptable in single quoted strings


echo '<span>At "Software University"</span>';

 Variables in double quotes are replaced with their value


$name = 'Nakov';
$age = 25;
$text = "I'm $name and I'm $age years old.";
echo $text; // I'm Nakov and I'm 25 years old.
13
Interpolating Variables in Strings
 Simple string interpolation syntax
 Directly calling variables in double quotation marks (e.g. "$str")
 Complex string interpolation syntax
 Calling variables inside curly parentheses (e.g. "{$str}")
 Useful when separating variable from text after
$popularName = "Pesho";
echo "This is $popularName."; // This is Pesho.
echo "These are {$popularName}s."; // These are Peshos.

14
Heredoc Syntax
 Heredoc syntax <<<"EOD" .. EOD;

$name = "Didko";
$str = <<<"EOD"
My name is $name and I am
very, very happy.
EOD;
echo $str;
/*
My name is Didko and I am
very, very happy.
*/
15
Nowdoc Syntax
 Nowdoc syntax <<<'EOD' .. EOD;

$name = "Didko";
$str = <<<'EOD'
My name is $name and I am
very, very happy.
EOD;
echo $str;
/*
My name is $name and I am
very, very happy.
*/
16
String Concatenation
 In PHP, there are two operators for combining strings:
 Concatenation operator .
 Concatenation assignment operator .=
<?php
$homeTown = "Madan";
$currentTown = "Sofia";
$homeTownDescription = "My home town is " . $homeTown . "\n";
$homeTownDescription .= "But now I am in " . $currentTown;
echo $homeTownDescription;

 The escape character is the backslash \ 17


Problem: Print String Letters
 Read a string and print its letters as shown below

SoftUni $str = "SoftUni";


if (is_string($str)) {
str[0] -> 'S' $strLength = strlen($str);
str[1] -> 'o' for ($i = 0; $i < $strLength; $i++){
str[2] -> 'f' echo "str[$i]" . " -> " .
str[3] -> 't' $str[$i] . "\n";
str[4] -> 'U' }
str[5] -> 'n' }
str[6] -> 'i'

18
Manipulating Strings
Accessing Characters and Substrings
 strpos($input, $find) – a case-sensitive search
 Returns the index of the first occurrence of string in another string

$soliloquy = "To be or not be that is the question.";


echo strpos($soliloquy, "that"); // 16
echo strpos($soliloquy, "nothing"); // print nothing

 strstr($input, $find, [boolean]) – finds the first


occurrence of a string and returns everything before or after
echo strstr("This is madness!\n", "is ") ; // is madness!
echo strstr("This is madness!", " is", true); // This
20
Accessing Characters and Substrings (2)
 substr($str, $position, $count) – extracts $count
characters from the start or end of a string
$str = "abcdef";
echo substr($str, 1) ."\n"; // bcdef
echo substr($str, -2) ."\n"; // ef
echo substr($str, 0, 3) ."\n"; // abc
echo substr($str, -3, 1); // d

 $str[$i] – gets a character by index


php $str = "Apples";
echo $str[2]; // p
21
Counting Strings
 strlen($str) – returns the length of the string
echo strlen("Software University"); // 19

 str_word_count($str) – returns the number of words in a text


$countries = "Bulgaria, Brazil, Italy, USA, Germany";
echo str_word_count($countries); // 5

 count_chars($str) – returns an associative array holding the


value of all ASCII symbols as keys and their count as values
$hi = "Helloooooo";
echo count_chars($hi)[111]; // 6 (o = 111)
Accessing Character ASCII Values
 ord($str[$i]) – returns the ASCII value of the character
$text = "Call me Banana-man!";
echo ord($text[8]); // 66

 chr($value) – returns the character by ASCII value


$text = "SoftUni";
for ($i = 0; $i < strlen($text); $i++) {
$ascii = ord($text[$i]);
$text[$i] = chr($ascii + 5);
}
echo $text; // XtkyZsn
23
String Replacing
 str_replace($target, $replace, $str) – replaces all
occurrences of the target string with the replacement string
$email = "bignakov@example.com";
$newEmail = str_replace("bignakov", "juniornakov", $email);
echo $newEmail; // juniornakov@example.com

 str_ireplace($target, $replace, $str) - case-


insensitive replacing
$text = "HaHAhaHAHhaha";
$iReplace = str_ireplace("A", "o", $text);
echo $iReplace; // HoHohoHoHhoho
Case Changing
 strtolower()  – makes a string lowercase
$lan = "JavaScript";
echo strtolower($lan); // javascript

 strtoupper() – makes a string uppercase


$name = "parcal";
echo strtoupper($name); // PARCAL

 $str[$i] – access / change any character by index


$str = "Hello";
$str[1] = 'a';
echo $str; // Hallo
25
Other String Functions
 strcasecmp($string1, $string2)
 Performs a case-insensitive string comparison

 strcmp() – performs a case-sensitive comparison


echo !strcmp("hELLo", "hello") ? "true" : "false"; // false

26
Problem: Concatenate and Reverse Strings
 Read an array of strings, concatenate them and reverse them

I $array = ['I', 'am', 'student'];


am if (is_array($array)) {
student $result = implode("", $array);
echo strrev($result);
tnedutsmaI }
Reverse a string

27

You might also like