Arrays and Multidimensional Arrays Soft Uni Team Technical
- Slides: 31
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
Questions sli. do #PHPFUND 3
Arrays in PHP
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
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(); // 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
Accessing Array Elements Read and Modify Elements by Index
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']; 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 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 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 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 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 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 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)
Multidimensional 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 = 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"> <? 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 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], [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 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)
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 ? ? ? https: //softuni. bg/courses/php-basics/
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 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
- Mining complex types of data
- Going native project management
- Team spirit becomes team infatuation
- The white team cheers for the blue team, just like
- Turing machine
- Multidimensional expressions
- Multidimensional scaling marketing
- Multidimensional model of leadership
- Mddb database
- Multidimensional database definition
- Multidimensional array
- 2d array pascal
- Multidimensional space in data mining
- Fluent reader
- Multidimensional vector c++
- Cannot index with multidimensional key
- Mdm marketing
- Jagged array vs multidimensional array
- Multidimensional turing machine
- Systemverilog multidimensional array initialization
- Multidimensional integrative model
- Chelladurai's model
- Multidimensional or hypervolume niche
- Multidimensional calm test
- Proxscal vs alscal
- Processing multidimensional array
- Ssas tabular vs multidimensional performance
- What is multidimensional talent
- Multidimensional scaling - ppt
- One-dimensional vs multidimensional models
- Fast analysis of shared multidimensional information is
- Ssas multidimensional vs tabular