Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikibooksThe Free Textbook Project
Search

PHP Programming/Arrays

From Wikibooks, open books for an open world
<PHP Programming
ComparisonPHP Programming
Arrays
The if Structure

Arrays are sets of data that can be defined in a PHP Script. Arrays can contain other arrays inside of them without any restriction (hence building multidimensional arrays). Arrays can be referred to as tables or hashes.

Syntax

[edit |edit source]

Arrays can be created in two ways. The first involves using the function array. The second involves using square brackets.

Thearray function method

[edit |edit source]

In thearray function method, you create an array in the scheme of:

$foo=bar()

For example, to set up the array to make the keys sequential numbers (Example: "0, 1, 2, 3"), you use:

$foobar=array($foo,$bar);

This would produce the array like this:

$foobar[0]=$foo;$foobar[1]=$bar;

It is also possible to define the key value:

$foobar=array('foo'=>$foo,'bar'=>$bar);

This would set the array like this:

$foobar['foo']=$foo;$foobar['bar']=$bar;

The square brackets method

[edit |edit source]

The square brackets method allows you to set up by directly setting the values. For example, to make$foobar[1] = $foo, all you need to do is:

$foobar[1]=$foo;

The same applies for setting the key value:

$foobar['foo']=$foo;

Examples of arrays

[edit |edit source]

Example #1

[edit |edit source]
This example sets and prints arrays.

PHP Code:

<?php$array=array("name"=>"Toyota","type"=>"Celica","colour"=>"black","manufactured"=>"1991");$array2=array("Toyota","Celica","black","1991");$array3=array("name"=>"Toyota","Celica","colour"=>"black","1991");print_r($array);print_r($array2);print_r($array3);?>

PHP Output:

  Array  (    [name] => Toyota    [type] => Celica    [colour] => black    [manufactured] => 1991  )  Array  (    [0] => Toyota    [1] => Celica    [2] => black    [3] => 1991  )  Array  (    [name] => Toyota    [0] => Celica    [colour] => black    [1] => 1991  )

HTML Render:

Array ( [name] => Toyota [type] => Celica [colour] => black [manufactured] => 1991 ) Array ( [0] => Toyota [1] => Celica [2] => black [3] => 1991 ) Array ( [name] => Toyota [0] => Celica [colour] => black [1] => 1991 )


Example #2

[edit |edit source]

The following example will output the identical text asExample #1:

<?php$array['name']="Toyota";$array['type']="Celica";$array['colour']="black";$array['manufactured']="1991";$array2[]="Toyota";$array2[]="Celica";$array2[]="black";$array2[]="1991";$array3['name']="Toyota";$array3[]="Celica";$array3['colour']="black";$array3[]="1991";print_r($array);print_r($array2);print_r($array3);?>

Example #3

[edit |edit source]
Using theExample #1 andExample #2 above, now you can try and use arrays the same way as normal variables:

PHP Code:

<?phpecho"Manufacturer:{$array['name']}\n";echo"Brand: &lt;b&gt;{$array2['1']}&lt;/b&gt;&lt;br /&gt;\n";echo"Colour: &lt;b&gt;".$array3['colour']."&lt;/b&gt;&lt;br /&gt;\n";echo"Year Manufactured: &lt;b&gt;".$array3[1]."&lt;/b&gt;&lt;br /&gt;\n"?>

PHP Output:

 Manufacturer: <b>Toyota</b><br />  Brand: <b>Celica</b><br />  Colour: <b>black</b><br />  Year Manufactured: <b>1991</b><br />

HTML Render:

 Manufacturer:Toyota Brand:Celica Colour:black Year Manufactured:1991


Multidimensional arrays

[edit |edit source]

Elements in an array can also be an array, allowing for multidimensional arrays.An example, in accordance with the motoring examples above, is:

<?php$cars=array("car1"=>array("make"=>"Toyota","colour"=>"Green","year"=>1999,"engine_cc"=>1998),"car2"=>array("make"=>"BMW","colour"=>"RED","year"=>2005,"engine_cc"=>2400),"car3"=>array("make"=>"Renault","colour"=>"White","year"=>1993,"engine_cc"=>1395),);?>

In this example, if you were to use:

<?phpecho"$cars['car1']['make']<br>";echo"$cars['car3']['engine_cc']";?>

The output would be:

Toyota
1395

Array functions

[edit |edit source]

There are dozens of array manipulation functions. Before implementing your own, make sure it doesn't already exist as a PHP function inArray functions (PHP manual entry).

Sorting

[edit |edit source]

Examples:

$array=array("name"=>"Toyota","type"=>"Celica","colour"=>"black","manufactured"=>"1991");array_multisort($array,SORT_ASC);var_dump($array);// array(4) { ["manufactured"]=> string(4) "1991" ["type"]=> string(6) "Celica" ["name"]=> string(6) "Toyota" ["colour"]=> string(5) "black" }// The upper cases are sorted before the lowercases.arsort($array);var_dump($array);// array(4) { ["colour"]=> string(5) "black" ["name"]=> string(6) "Toyota" ["type"]=> string(6) "Celica" ["manufactured"]=> string(4) "1991" }asort($array);var_dump($array);// array(4) { ["manufactured"]=> string(4) "1991" ["type"]=> string(6) "Celica" ["name"]=> string(6) "Toyota" ["colour"]=> string(5) "black" }sort($array);var_dump($array);// array(4) { [0]=> string(4) "1991" [1]=> string(6) "Celica" [2]=> string(6) "Toyota" [3]=> string(5) "black" }

Array traversal

[edit |edit source]

In various circumstances, you will need to visit every array element and perform a task upon it.

The simplest and the most widely used method for this is theforeach operator that loops through the whole array and works individually with each key/item couple. If a more complex way of traversing the array is needed, the following functions operate using the internal array pointer:

  • reset - sets the internal pointer to the first element and returns the first element
  • prev - sets the internal pointer to the previous element and returns it
  • current - returns the current element; does not change the internal pointer
  • next - sets the internal pointer to the next element and returns it
  • each - returns the current element; then sets the internal pointer to the next element
  • end - sets the internal pointer to the last element and returns the last element
<?php// Using an array's iterator to print its values in reverse order$my_array=array('a','b','c');end($my_array);while($i=current($my_array)){echo$i."\n";prev($my_array);}?>

Another possibility is defining a function and applying it to each array element via one of the following functions:

  • array_walk - applies a function to each array element
  • array_walk_recursive - same, but if the element is itself an array, it will traverse that array too

External links

[edit |edit source]


ComparisonPHP Programming
Arrays
The if Structure
Retrieved from "https://en.wikibooks.org/w/index.php?title=PHP_Programming/Arrays&oldid=3675747"
Category:

[8]ページ先頭

©2009-2025 Movatter.jp