250 likes | 569 Views
PHP Arrays. After this lecture, you should be able to: Create and manipulate PHP Arrays : Indexed Arrays Associative Arrays Array Functions. PHP Intro. PHP Arrays. An indexed array is similar to one provided by a conventional programming language.
E N D
PHP Arrays After this lecture, you should be able to: Create and manipulate PHP Arrays: Indexed Arrays Associative Arrays Array Functions PHP Intro
PHP Arrays • An indexed array is similar to one provided by a conventional programming language. • An element of an associative array can be accessed by a keyword. • An associative array is like a dictionary with key and value. • An array element can be of any type. • An array can be heterogeneous with its element types and structure. • Many functions manipulating an array are provided.
Indexed Array $animals = array("dog", "cat", "fish"); echo "$animals[0]\n"; echo "$animals[2]\n"; echo "$animals\n"; dog fish Array
Updating and Adding Elements $animals = array("dog", "cat", "fish"); echo "$animals[1]\n"; $animals[1] = "tiger"; echo "$animals[1]\n"; $animals[] = "beaver"; echo "$animals[3]\n"; cat tiger beaver
Associative Array $animals = array( "dog“ => 15,"cat“ => 8, "fish“ => 2); echo "$animals[cat]\n"; $animals["bat"] = 100; echo "$animals[bat]\n"; 8 100
Listing array element: for $animals = array("dog", "cat", "fish"); for ($i = 0; $i < count($animals); $i++) { echo $i . "-th animal is a $animals[$i].\n"; } 0-th animal is a dog. 1-th animal is a cat. 2-th animal is a fish.
Listing Array Elements: foreach $animals = array("dog", "cat", "fish"); foreach ($animals as $animal) echo "$animal\n"; } dog cat fish
while and each $animals = array( "dog“ => 15,"cat“ => 8, "fish“ => 2); while ($item = each($animals)) print "weight of " . $item["key"] . " is " . $item["value"] . “.\n"; weight of dog is 15. weight of cat is 8. weight of fish is 2.
each and list $animals = array( "dog“ => 15, "cat“ => 8, "fish“ = >2); while (list($key, $value)=each($animals)) print "weight of $key is $value.\n"; weight of dog is 15. weight of cat is 8. weight of fish is 2.
Multi-Dimensional Heterogeneous Array $books = array( array("title“ => “A", "author“ => “X"), array("title“ => “B", “author“ => “Y", “price“ => 25) ); print_r($books); Array ( [0] => Array ( [title] => A [author] => X ) [1] => Array ( [title] => B [author => Y [price] => 25 ) )
Nested Loops for ($i=0; $i < count($books); $i++) { print "$i-th book is:"; while ( list($key, $value) = each($books[$i]) ) print “ $key: $value"; print "\n"; } 0-th book is: title: A author: X 1-th book is: title: B author: Y price: 25
String as an Array $myString = "My chars"; echo "$myString\n"; echo "$myString[1]\n"; My chars y
Array functions • count(), sizeof() • in_array() • array_slice() • array_reverse() • list( ) • Sorting Functions • sort(), rsort() • asort(), arsort() • ksort(), krsort()
count(array1)andsizeof(array1) Returns the size of array array1. $animals = array ('dog', 'cat', 'fish'); echo count($animals); echo sizeof($animals); 3 3
array array_reverse(array1) Return an array with elements in reverse order. $animals = array('dog', 'cat', 'fish'); $reversed = array_reverse($animals); print_r($reversed); Array ( [0] = fish [1] = cat [2] = dog )
array array_slice (array1, offset, length) Extract a slice of length from array1 starting at offset. $array1 = array(1, 2, 3, 4, 5, 6); $subarray = array_slice($array1, 3, 2); print_r($subarray); Array ( [0] = 4 [1] = 5 )
boolean in_array(value, array1) Check if value exists in array1. $animals = array('dog', 'cat', 'fish'); echo in_array('cat', $animals); echo in_array(‘monkey', $animals); 1 (true) (false)
void list(var1, var2, ...) The elements of an array are copied into the list of variables var1, var2, . . . $animals = array('dog', 'cat', 'fish'); list($a, $b, $c) = $animals; echo "$a, $b, $c"; dog, cat, fish
sort(array)and rsort(array) Sort the elements in an array in increasing or decreasing order. $animals = array('dog', 'cat', 'fish'); sort($animals); print_r($animals); Array ( [0] = cat [1] = dog [2] = fish )
asort(array), arsort(array) Sort array by values and maintain index association $animals = array('dog', 'cat', 'fish'); asort($animals); print_r($animals); Array ( [1] = cat [0] = dog [2] = fish )
ksort(array), krsort(array) Sort array by keys. $animals = array('dog' => 15, 'cat' => 8, 'fish' => 2); ksort($animals); print_r($animals); Array ( [cat] => 8 [dog] => 15 [fish] => 12 )