Arrays and Multidimensional Arrays Soft Uni Team Technical

  • Slides: 31
Download presentation
Arrays and Multidimensional Arrays Soft. Uni Team Technical Trainers Software University http: //softuni. bg

Arrays and Multidimensional Arrays Soft. Uni Team Technical Trainers Software University http: //softuni. bg

Table of Contents 1. Arrays in PHP 2. Array Manipulation 3. Multidimensional Arrays 2

Table of Contents 1. Arrays in PHP 2. Array Manipulation 3. Multidimensional Arrays 2

Questions sli. do #PHPFUND 3

Questions sli. do #PHPFUND 3

Arrays in PHP

Arrays in PHP

What are Arrays? § An array is a ordered sequence of elements § The

What are Arrays? § An array is a ordered sequence of elements § The order of the elements is fixed § Can get the current length (count($array)) § In PHP arrays can change their size at runtime (add / delete) Element of an array Array of 5 elements 0 1 2 3 4 … … … Element index 5

Creating Arrays

Creating Arrays

Initializing Arrays § There are several ways to initialize an array in PHP: §

Initializing Arrays § There are several ways to initialize an array in PHP: § Using the array(elements) language construct: $new. Array = array(1, 2, 3); // [1, 2, 3] § Using the array literal []: $new. Array = [7, 1, 5, 8]; // [7, 1, 5, 8] § Using array_fill($start. Index, $count, $value): $new. Array = array_fill(0, 3, "Hi"); // ["Hi", "Hi"] 7

Initializing Arrays – Examples // Creating an empty array $empty. Array = array(); //

Initializing Arrays – Examples // Creating an empty array $empty. Array = array(); // Creating an array with 10 elements of value 0. 0 $my. Array = array_fill(0, 10, 0. 0); // Clearing an array $my. Array = array(); // Adding string elements $colors = ['green', 'blue', 'red', 'yellow', 'pink', 'purple']; 8

Declaring PHP Arrays Live Demo

Declaring PHP Arrays Live Demo

Accessing Array Elements Read and Modify Elements by Index

Accessing Array Elements Read and Modify Elements by Index

Accessing Array Elements § Array elements are accessed by their key (index) § Using

Accessing Array Elements § Array elements are accessed by their key (index) § Using the [] operator § By default, elements are indexed from 0 to count($arr)-1 0 1 2 3 4 Apple Pear Peach Banana Melon § Values can be accessed / changed by the [ ] operator $fruits = ['Apple', 'Pear', 'Peach', 'Banana', 'Melon']; echo $fruits[0]; // Apple echo $fruits[3]; // Banana 11

Accessing Array Elements (2) § Changing element values $cars = ['BMW', 'Audi', 'Mercedes', 'Ferrari'];

Accessing Array Elements (2) § Changing element values $cars = ['BMW', 'Audi', 'Mercedes', 'Ferrari']; echo $cars[0]; // BMW $cars[0] = 'Opel'; print_r($cars); // Opel, Audi, Mercedes, Ferrari § Iterating through an array $teams = ['FC Barcelona', 'Milan', 'Manchester United', 'Real Madrid', 'Loko Plovdiv']; for ($i = 0; $i < count($teams); $i++) { echo $teams[$i]; } 12

Append to Array § Arrays in PHP are dynamic (dynamically-resizable) § Their size can

Append to Array § Arrays in PHP are dynamic (dynamically-resizable) § Their size can be changed at runtime through append / insert / delete § Appending elements at the end: § array_push($array, $element 1, $element 2, …) § Alternative syntax: $cars[] = 'Lada'; $months = array(); array_push($months, 'January', 'February', 'March'); $months[] = 'April'; // ['January', 'February', 'March', 'April'] 13

Delete from Array § unset($array[$index]) – removes element at given position § Does NOT

Delete from Array § unset($array[$index]) – removes element at given position § Does NOT reorder indexes $array = array(0, 1, 2, 3); unset($array[2]); print_r($array); // prints the array Indices remain unchanged // Array ([0] => 0 [1] => 1 [3] => 3) § Use array_splice() in case proper ordering is important 14

Delete / Insert in Array § array_splice($array, $start. Index, $length) – removes the elements

Delete / Insert in Array § array_splice($array, $start. Index, $length) – removes the elements in the given range $names = array('Maria', 'John', 'Richard', 'George'); array_splice($names, 1, 2); // ['Maria', 'George'] § array_splice($array, $start. Index, $length, $element) – removes the elements in given range and inserts an element $names = array('Jack', 'Melony', 'Helen', 'David'); array_splice($names, 2, 0, 'Don'); // ['Jack', 'Melony', 'Don', 'Helen', 'David'] 15

Displaying Arrays § There are several ways of displaying the entire content of an

Displaying Arrays § There are several ways of displaying the entire content of an array: $names = ['Maria', 'John', 'Richard', 'Hailey']; § print_r($names) – prints the array in human-readable form Array ( [1] => Maria [2] => John [3] => Richard [4] => Hailey ) § var_export($names) – prints the array in array form array ( 1 => 'Maria', 2 => 'John', 3 => 'Richard', 4 => 'Hailey', ) § echo json_encode($names) – prints the array as JSON string ["Maria", "John", "Richard", "Hailey"] 16

Problem: Sum First and Last Array Elements § You are given array of strings

Problem: Sum First and Last Array Elements § You are given array of strings holding numbers § Calculate and print the sum of the first and the last elements 20 30 40 60 5 10 15 2 4 $array = [20, 30, 40]; $array_num = count($array); echo $arr[0] + $arr[$array_num - 1]; 17

Problem: Print Array Elements § Enter array elements from html form - array of

Problem: Print Array Elements § Enter array elements from html form - array of strings holding numbers - comma separated § Print the array as follows 20 30 40 50 60 70 20 30 40 70 60 50 7 3 4 5 10 7 10 3 5 4 2 2 18

Practice: Accessing and Manipulating Arrays Live Exercises in Class (Lab)

Practice: Accessing and Manipulating Arrays Live Exercises in Class (Lab)

Multidimensional Arrays

Multidimensional Arrays

Multidimensional Arrays § A multidimensional array is an array containing one or more arrays

Multidimensional Arrays § A multidimensional array is an array containing one or more arrays § Elements are accessed by double indexing: arr[][] One main array whose elements are arrays 0 1 2 0 4 6 3 1 2 2 6 7 9 Element is in 'row' 0, 'column' 2, i. e. $arr[0][2] Each sub-array contains its own elements 21

Multidimensional Arrays – Example § Printing a matrix of 5 x 4 numbers: $rows

Multidimensional Arrays – Example § Printing a matrix of 5 x 4 numbers: $rows = 5; $cols = 4; $count = 1; $matrix = []; for ($r = 0; $r < $rows; $r++) { $matrix[$r] = []; for ($c = 0; $c < $cols; $c++) { $matrix[$r][$c] = $count++; } } print_r($matrix); 22

Multidimensional Arrays – Example (2) § Printing a matrix as HTML table: <table border="1">

Multidimensional Arrays – Example (2) § Printing a matrix as HTML table: <table border="1"> <? php for ($row = 0; $row < count($matrix); $row++) : ? > <tr> <? php for ($col = 0; $col < count($matrix[$row]); $col++) : ? > <td><? = htmlspecialchars($matrix[$row][$col]) ? ></td> <? php endfor ? > </tr> <? php endfor ? > </table> 23

Problem: Biggest Element in Matrix § A matrix of numbers comes as array of

Problem: Biggest Element in Matrix § A matrix of numbers comes as array of strings § Each string holds numbers (space separated) § Find the biggest number 3 5 17 -1 7 4 1 8 99 12 91 5 33 6 22 3 10 4 3 99 3 5 7 12 -1 4 33 2 8 3 0 4 20 50 10 8 33 145 24

Solution: Biggest Element in Matrix //TODO $matrix = [[1, 3, 4], [7, 6, 14],

Solution: Biggest Element in Matrix //TODO $matrix = [[1, 3, 4], [7, 6, 14], [23, 67, 89]]; $biggest. Num = $matrix[0][0]; 1 3 4 foreach ($matrix as $row) { 7 6 14 foreach ($row as $column) { 23 67 89 if ($column > $biggest. Num) { $biggest. Num = $column; } } } echo $biggest. Num; 25

Problem: Biggest and Smallest Element in Matrix § A matrix of numbers comes as

Problem: Biggest and Smallest Element in Matrix § A matrix of numbers comes as array of strings from input form § Each string holds numbers (space separated) § Number of columns should be entered by the user § Find the biggest and smallest number 3 5 17 -1 7 4 1 8 99 12 91 5 33 6 22 3 10 4 3 99 -1 3 5 7 12 -1 4 33 2 8 3 0 4 20 50 10 8 33 145 33 -1 145 8 26

Practice: Multidimensional Arrays Live Exercises in Class (Lab)

Practice: Multidimensional Arrays Live Exercises in Class (Lab)

Summary § PHP supports arrays § An array is a ordered sequence of elements

Summary § PHP supports arrays § An array is a ordered sequence of elements § We have learned about classical and multidimensional arrays § Many built-in array functions, e. g. sort() 28

Arrays and Multidimensional Arrays ? s n o i t s e u Q

Arrays and Multidimensional Arrays ? s n o i t s e u Q ? ? ? https: //softuni. bg/courses/php-basics/

License § This course (slides, examples, demos, videos, homework, etc. ) is licensed under

License § This course (slides, examples, demos, videos, homework, etc. ) is licensed under the "Creative Commons Attribution. Non. Commercial-Share. Alike 4. 0 International" license § Attribution: this work may contain portions from § "PHP Manual" by The PHP Group under CC-BY license § "PHP and My. SQL Web Development" course by Telerik Academy under CC-BY-NC-SA license 30

Free Trainings @ Software University § Software University Foundation – softuni. org § Software

Free Trainings @ Software University § Software University Foundation – softuni. org § Software University – High-Quality Education, Profession and Job for Software Developers § softuni. bg § Software University @ Facebook § facebook. com/Software. University § Software University @ You. Tube § youtube. com/Software. University § Software University Forums – forum. softuni. bg