 



 PHP  2   .          :

<?
  $car[] = "passenger car";
  $car[] = "land-rover";
  echo($car[1]); //  "land-rover"
?>

    :

<?
  $car[0] = "passenger car";
  $car[1] = "land-rover";
  echo($car[1]); //  "land-rover"
?>

,           ,   ,   ,    , PHP    ,        . ,      ,    , , 10, 20  30,    ,     ,      31:

<?
  $car[10] = "passenger car";
  $car[20] = "land-rover";
  $car[30] = "station-wagon";
  $car[] = "victoria";
  echo($car[31]);
?>

        array():

<?
  $car = array("passenger car","land-rover");
  echo($car[1]); //  "land-rover"
?>

         =>:

<?
  $car = array("passenger car", 5 => "land-rover",
  "station-wagon","victoria");
  echo($car[0]); echo("<br>"); //  "passenger car"
  echo($car[5]); echo("<br>"); //  "land-rover"
  echo($car[6]); echo("<br>"); //  "station-wagon"
  echo($car[7]); //  "victoria"
?>

     :

<?
  $car = array("pc" => "passenger car", "lr" => "land-rover");
  echo($car["lr"]); echo("<br>"); //  "land-rover"
  echo($car["pc"]);  //  "passenger car"
?>


2  foreach   



     PHP4      foreach,    :

foreach (array as [$key =>] $value)
{
  statements;
}

   :        $key    ,    $value   .      .

:

<?
  $car = array("passenger car", "land-rover",
  "station-wagon","victoria");
  foreach($car as $index => $val)
  {
  echo("$index -> $val <br>");
  }
?>

   ,  $key     :

<?
  echo(
  "available cars: <br> <ul>"
  );
  $car = array("passenger car", "land-rover",
  "station-wagon","victoria");
  foreach($car as $val)
  {
  echo("<li>$val</li>\n");
  }
  echo("</ul>");
?>


3  
count()
 in_array()
 reset()



       array().        .          .

:

<?
  $ship = array(
  "Passenger ship" => array("Yacht","Liner","Ferry"),
  "War ship" => array("Battle-wagon","Submarine","Cruiser"),
  "Freight ship" => array("Tank vessel","Dry-cargo ship","Container
  cargo ship")
  );
  foreach($ship as $key => $type)
  {
  echo(
  "<h2>$key</h2>\n"."<ul>\n");
  foreach($type as $ship)
  {
  echo("\t<li>$ship</li>\n");
  }
  }
  echo("</ul>\n");
?>

   ::


Passenger ship
Yacht
Liner
Ferry
War ship
Battle-wagon
Submarine
Cruiser
Freight ship
Tank vessel
Dry-cargo ship
Container cargo ship


  ,   ,    PHP    .           .         ,        .

 count()
:

int count(mixed var)

            .  ,         for().



 in_array()
:

boolean in_array(mixed needle, array haystack [, bool strict])

     haystack  needle   true     false   .



 reset()
:

mixed reset(array array)

 reset()            .

 .     PHP       .       foreach     ,  foreach     . ,    ,   prev(), next(),    ,         ,  array_walk(),       ,   .
     .

4   
sort()
rsort()
asort()
 arsort()
ksort()
krsort()
 array_reverse()
shuffle()
natsort()



sort()
    .

:

void sort(array array [, int sort_flags])

   array  .   sort_flags       (  ).      :

SORT_REGULAR      (  " ")
SORT_NUMERIC -    
SORT_STRING -    
 ,      .    ,         .  sort()     .

 .

:

<?
  $arr = array("2", "1", "4", "3","5");
  sort($arr);
  for($i=0; $i < count($arr); $i++)
  {
  echo ("$i:$arr[$i]  ");
  }
  //  "0:1 1:2 2:3 3:4 4:5"
?>

:

0:1 1:2 2:3 3:4 4:5

  .    , .,  ,    

  array("one", "two", "abs", "three", "uic", "for","five");

  -   :

:

0:abs 1:five 2:for 3:one 4:three 5:two 6:uic

..       - ,         .



rsort()
   .

:

void rsort(array arr [, int sort_flags])

  sort(),    .    ,     sort(),   sort($arr)  rsort($arr).

:

0:5 1:4 2:3 3:2 4:1


asort()
    .

:

void asort(array arr [, int sort_flags])

 asort()   arr ,       (  )   ( ) .       sort()   ,     asort()       ,     sort() (    ).

:

<?
  $arr = array("a" =>"one","b" => "two","c" => "three","d" => "four");
  asort($arr);
  foreach($arr as $key => $val)
  {
  echo (" $key => $val ");
  }
?>

:

d => four a => one c => three b => two

..,  ,  "-" .

   asort()     .    sort_flags     sort().



arsort()
    .

:

void arsort(array arr [, int sort_flags])

    asort(),       ,   .



ksort()
    .

:

int ksort(array arr [, int sort_flags])

       ,       .

<?
  $arr = array("a" =>"one","b" => "two","c" => "three","d" => "four");
  ksort($arr);
  foreach($arr as $key => $val)
  {
  echo (" $key => $val ");
  }
?>

:

a => one b => two c => three d => four


krsort()
    .

:

int krsort(array arr [, int sort_flags])

  ,    ksort(),         ( ).



array_reverse()
     .

:

array array_reverse(array arr [, bool preserve_keys])

 array_reverse()  ,         arr,   .        .     preserve_keys  true,        .

       php- :

<?
  $arr = array ("php", 4.0, array ("green", "red"));
  $result = array_reverse ($arr);
  echo ": <br>";
  foreach($result as $key => $val)
  {
  echo ("$key => $val <br>");
  }
  echo("<br>");
  echo " : <br>";
  $result_keyed = array_reverse ($arr, false);
  foreach($result_keyed as $key => $val)
  {
  echo ("$key => $val<br> ");
  }
?>

..,  :

  :

:

:
0 =>Array
1 =>4
2 =>php

 :
0 =>Array
1 =>4
2 =>php


       true ,    :

:

:
0 =>Array
1 =>4
2 =>php

 :
2 =>Array
1 =>4
0 =>php



shuffle()
    .

:

void shuffle(array arr)

 shuffle()    arr  .



natsort()
 ""  .

:

void natsort(array arr)

     ,    .     .  ,       ,   ,     ""   .

:

<?
  $array1 = $array2 = array("pict10.gif", "pict2.gif", "pict20.gif", "pict1.gif");
  echo (" :"); echo ("<br>");
  sort($array1);
  print_r($array1);
  echo ("<br>"); echo (" :"); echo ("<br>");
  natsort($array2);
  print_r($array2);
?>

:

 :
Array ( [0] => pict1.gif [1] => pict10.gif [2] => pict2.gif [3] => pict20.gif )
 :
Array ( [3] => pict1.gif [1] => pict2.gif [0] => pict10.gif [2] => pict20.gif )


5    () 
end()
next()
 prev()
current()
 key()
each()



  reset()     . ,       , ..            .

 end()  ,   reset()      .      reset():

end()
:

mixed end(array array arr)



next()
 next()        .

:

mixed next(array array arr)

..        ,     ,      .       ,   false.           ,  : false  ,       .  ,      ,   ,     each(),       .



prev()
 prev()       .        next().

:

mixed prev(array array arr)



current()
    ,    ,   current().

:

mixed current(array array arr)

 current()   ,        ,     .   ,      ,      ,   false.

   current()   pos().



key()
 key()     .

:

mixed key(array array arr)



       each().

each()
:

array each(array array arr)

 each()   " - "          .  ,  ,   ,     :

[1] => ""
[value] => ""
[0] => 
[key] => 
    ,   false. ,    :

:

<?
  $name = array("maks", "igor", "sergey");
  $each_name = each($name);
  print_r($each_name);
  echo("<br>");
  $each_name = each($name);
  print_r($each_name);
  echo("<br>");
  $each_name = each($name);
  print_r($each_name);
?>

   :
:

Array ( [1] => maks [value] => maks [0] => 0 [key] => 0 )
Array ( [1] => igor [value] => igor [0] => 1 [key] => 1 )
Array ( [1] => sergey [value] => sergey [0] => 2 [key] => 2 )


 each()       list()    .  ,  :

:

<?
  $name = array("maks", "igor", "sergey");
  reset($name);
  while(list($key, $val) = each($name))
  {
  echo ("$key = $val<br>");
  }
?>

    :
:

0 = maks
1 = igor
2 = sergey

6  array_walk()



array_walk()
  ,        .

:

bool array_walk(array arr, callback func [, mixed userdata])

     ,     func     arr.        :   ,     userdata.    . ,   ,  func    ,       , ,    ,    "@"   array_walk().  ,   func      arr  ,     .    ,    arr  .        .

 ,    . ,      .       ,    ,        array_walk():

:

<?
  $name = array ("m"=>"maks", "i"=>"igor", "s"=>"sergey");
  function print_array ($item, $key)
  {
  echo "$key=>$item<br>\n";
  }
  array_walk ($name, 'print_array');
?>

  :

:

m=>maks
i=>igor
s=>sergey



 .  ,    , ,   .           ,   ,    array_walk()    reset()   ,   array_walk()     ,     .

   ,        .

:

<?
  $number = array ("1"=>"15", "2"=>"20", "3"=>"25");
  function printarray ($item, $key)
  {
  echo "$key=>$item<br>\n";
  }
  function add_array (&$item, $key)
  //  $item   ,  
  //    
  {
  $item = $item + 1;
  }
  echo("Before:<br>");
  array_walk ($number, 'printarray');
  echo("After:<br>");
  array_walk ($number, 'add_array');
  array_walk ($number, 'printarray');
?>

:

Before:
1=>15
2=>20
3=>25
After:
1=>16
2=>21
3=>26
