Работа с массивом

Пятница, 25 Фев 2011 23:40

Массив (array) – несколько значений объединенных одним именем переменной (список однотипных элементов)

По способу идентификации элементов (2 типа):

1. массив определяется индексом в последовательности (индексированные)

2. массив имеет ассоциативную природу и для обращения к элементам использует ключи (ассоциативные)

По размеренности делят на:

1. одномерные

2. многомерные

Одномерные массивы или массив строка

А) Индексируемые

Синтаксис одномерного массива: $имя[индекс1];

Например:

1
2
3
4
5
6
7
8
9
$a[0]=5;

$a[1]=10;

$a[2]=23;

print($a[1]);

//Результат : 10

Функция array() – создает массив

Например:

1
2
3
$a=array(5,10,23);
print($a[1]);
//Результат : 10
Добавление элемента в массив

1.способ $a[8]=13; — записывает под номером 8,

2.способ $a[]=13; — записывает в конец массива

Удаление элемента в массиве

unset($a[4]); — удаляет 4-ый элемент

Б) Ассоциативные

( используется пара ключ/значение)

Пример:

1
2
3
$a[‘Samsung’]=’poly’;

$a[‘Nokia’]=’mono’;

или

1
$a=array(‘Samsung’=>’poly’, ‘Nokia’=>’mono’);

Многомерные массивы – представляют собой таблицу.

А) Индексируемые

(элементы в них определяются несколькими индексами)

Синтаксис: $имя[индекс1][индекс2]…..[индексN];

Пример:

1
$a=$chess_board[5][4];
Б) Ассоциативные
Samsung Colour Poly 80
Nokia bw Mono 50
Siemens Colour Mono 60

clip_image002

Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

$a=array(array('Samsung','colour','poly',80),

array('Nokia','bw','mono',50),

array('Siemens','colour','mono',60));

foreach($a as $v)

{

foreach($v as $vv)

{

print($vv.'-');

}

print('<br>');

}

?>
Программа выводит элементы массива по порядку Программа выводит элементы массива подряд
$a[0]=5;

$a[1]=10;

$a[3]=6;

$a[2]=7;

for($i=0;$i<count;$i++)

{

print($a[$i],’<br>’);

}

foreach($a as $k=>$v)

{

print($k.’-‘.$v.’<br>’);

}

Результат:
5

10

7

6

0-5

1-10

3-6

2-7

 

Функция in_array($x,$a) – логическая функция, которая показывает присутствует ли в массиве $a элемент $х.

Пример:

1
2
3
4
5
6
7
8
9
10
11
$a=array(5,8,10);

If(in_array(5,$a))

{print(‘Присутствует’);

}else{

print(‘Не присутствует’);}

//Результат: Присутствует.

Функция implode(‘&’,$a) – берет все элементы массива и записывает с разделителями & в одну строку

Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
&lt;?php

$a=array('name'=&gt;'Masha','work'=&gt;'kursi','age'=&gt;25);

print('массив c implode'.'&lt;br&gt;');

foreach($a as $k=&gt;$v)

{print($k.'-'.$v.'&lt;br&gt;');}

print('&lt;hr&gt;');

$s=implode('&amp;',$a);

Функция explode(‘&’,$s) – обратные действия к implode()

1
2
3
4
5
6
7
8
9
10
11
12
13
print('массив c explode'.'&lt;br&gt;'.$s);

print('&lt;br&gt;'.'массив $b:'.'&lt;br&gt;');

$b=explode('&amp;',$s);

foreach($b as $k=&gt;$v)

{print($k.'-'.$v.'&lt;br&gt;');}

print('&lt;hr&gt;');

?&gt;

Функция $s=serialize($a); эта функция упаковывает масив в строку $s

Функция $a=unserialize($s); эта функция распаковывает строку $s на элементы массива

Сортировка массивов.

Функции сортировки:

Функция Сортировка Сохранение пар «ключ /значение» пример
sort Значение по возрастанию (от меньшего к большему) нет
rsort Значение по убыванию (от большего к меньшему) нет
asort Значение по возрастанию (от меньшего к большему) да $a=array(‘name’=>’Masha’,’work’=>’kursi’,’age’=>25);

foreach($a as $k=>$v)

{print($k.’-‘.$v.'<br>’);}

asort($a);

arsort Значение по убыванию (от большего к меньшему) да $a=array(‘name’=>’Masha’,’work’=>’kursi’,’age’=>25);

foreach($a as $k=>$v)

{print($k.’-‘.$v.'<br>’);}

arsort($a);

ksort Ключ по возрастанию да $a=array(‘name’=>’Masha’,’work’=>’kursi’,’age’=>25);

foreach($a as $k=>$v)

{print($k.’-‘.$v.'<br>’);}

ksort($a);

krsort Ключ по убыванию да $a=array(‘name’=>’Masha’,’work’=>’kursi’,’age’=>25);

foreach($a as $k=>$v)

{print($k.’-‘.$v.'<br>’);}

krsort($a);

Usort Значение по пользовательским критериям нет
Uasort Значение по пользовательским критериям да
uksort Ключ по пользовательским критериям да


Вы можете оставить отзыв или трекбек со своего сайта.

Ваш отзыв