русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Глобальные предопределенные массивы


Дата добавления: 2013-12-23; просмотров: 1012; Нарушение авторских прав


17.

16.

Gt;1

Gt;2

Gt;3

Gt;4

Gt;5

Gt;3

Gt;2

Gt;1

15.

14.

13.

Gt;1

Gt;2

2,

5,

5,

12.

Gt;Иван

Gt;Алексеев

Gt;25560

Gt;доцент

11.

10.

9.

8.

Gt;Зарплата

7.

6.

5.

4.

3.

2.

1.

Функции для работы с массивами

Explode(разделитель, строка);

Преобразование текстовой строки в массив

Иван Алексеев доцент 25560

Преобразование массива в текстовую строку

Элементы массива можно объединять в одну строку, задавая разделитель элементов – символ, вставляемый в строку между ними: implode(разделитель, массив)

$my_array = array

(

“Иван”,

“Алексеев”,

“доцент”,

);

 

$str = implode(‘ ‘, $my_array);

echo $str, “<BR>”;

 

На экран будет выведено:

Для записи фрагментов текстовой строки в элементы массива служит функция:

 

Разделитель – символ или последовательность символов, которая рассматривается как разделитель фрагментов строки. Если разделитель в строке не содержится, то вся строка записывается в начальный элемент массива.



 

$str = “один,два,три”;

$my_array = explode(“,”, $str);

var_dump($my_array);

 

На экран будет выведено:

 

array(3) { [0]=> string(4) "один" [1]=> string(3) "два" [2]=> string(3) "три" }

В PHP имеется много полезных функций для работы с массивами. Вот некоторые из них:

array_unique(массив); формирует массив, полученный из исходного путем удаления из него повторяющихся элементов:

 

$my_array = array(‘a’, ‘b’, ‘c’, ‘a’, 5, 1, 5);

$new_array = array_unique($my_array);

var_dump($new_array);

На экран будет выведено:

array(5) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [4]=> int(5) [5]=> int(1) }

array_sum(массив); вычисляет сумму элементов массива:

$my_array = array(1, 2, ‘3’, 4,”5”);

$summa = array_sum($my_array); // $summa = 15

array_slice(массив, n1, n2); формирует новый массив, являющийся частью исходного: в новый массив записываются n2 его элементов, начиная с элемента с индексом n1:

$my_array = array(5, 4, “Аня”, 3, “Лена”);

$new_array = array_slice($my_array, 1, 3);

var_dump($new_array);

На экран будет выведено:

 

array(3) { [0]=> int(4) [1]=> string(3) "Аня" [2]=> int(3) }

array_merge(массив1, массив2, массив3, …); формирует новый массив, получающийся объединением исходных массивов:

$first_array = array(5, 4, 3);

$second_array = array(5, 2, 1);

$new_array = array_merge($first_array, $second_array);

var_dump($new_array);

На экран будет выведено:

array(6) { [0]=> int(5) [1]=> int(4) [2]=> int(3) [3]=> int(5) [4]=> int(2) [5]=> int(1) }

array_diff(массив1, массив2, массив3, …); формирует новый массив, состоящий из тех элементов первого массива, которых нет в остальных массивах (аналог операции вычитания во множествах):

$first_array = array(5, 4, 3, 2, 1);

$array_1 = array(6, 2, 8);

$array_2 = array(3, 0, 9);

$array_3 = array(5, 6, 1);

 

$new_array = array_diff($first_array, $array_1, $array_2, $array_3);

var_dump($new_array);

На экран будет выведено:

array(1) { [1]=> int(4) }

Во всех остальных массивах нет элемента 4.

Таким образом, связь “индекс-значение” в новом массиве сохраняется.

 

array_intersect(массив1, массив2, массив3, …); формирует новый массив, состоящий из тех элементов первого массива, которые имеются и в остальных массивах (аналог операции пересечения во множествах):

$first_array = array(5, 4, 3, 2, 1);

$array_1 = array(3, 2, 1);

$array_2 = array(4, 3, 2, 5);

$array_3 = array(2, 5, 3);

 

$new_array = array_intersect($first_array, $array_1, $array_2, $array_3);

var_dump($new_array);

На экран будет выведено:

array(2) { [2]=> int(3) [3]=> int(2) }

Таким образом, связь “индекс-значение” в новом массиве сохраняется.

array_flip(массив); формирует новый массив путем перестановки местами индексов и значений элементов исходного массива:

$my_array = array

(

‘Имя’=>“Иван”,

‘Фамилия’=>“Алексеев”,

‘Должность’=>“доцент”,

‘Зарплата’=>25560

);

$new_array = array_flip($my_array);

foreach($new_array as $index=>$value)

{

echo $index, ‘=>’, $value;

echo ‘<BR>’;

}

 

На экран будет выведено:

Иван=>Имя

Алексеев=>Фамилия

доцент=>Должность

extract(массив); создает переменные из символьных строковых индексов элементов массива и присваивает им значения соответствующих элементов; возвращает количество созданных переменных:

$my_array = array

(

‘Имя’=>“Иван”,

‘Фамилия’=>“Алексеев”,

‘Должность’=>“доцент”,

‘Зарплата’=>25560

);

$x = extract($my_array); //$x – количество созданных переменных

echo ‘$Имя=’, $Имя, “<BR>”;

echo ‘$Фамилия=’, $Фамилия, “<BR>”;

echo ‘$Должность=’, $Должность, “<BR>”;

echo ‘$Зарплата=’, $Зарплата, “<BR>”;

На экран будет выведено:

$Имя=Иван

$Фамилия=Алексеев

$Должность=доцент

$Зарплата=25560

compact(список переменных); формирует массив из указанных в списке именпеременных в кавычках без символа $ ; действие этой функции противоположно действию функции extract():

$name = "Иван";

$fam = "Алексеев";

$dolshn = "доцент";

$zarp = 25560;

$my_array = compact("name", "fam", "dolshn", "zarp");

foreach($my_array as $index=>$value)

{

echo $index, ‘=>’, $value;

echo ‘<BR>’;

}

 

 

На экран будет выведено:

name=>Иван

fam=>Алексеев

dolshn=>доцент

zarp=>25560

array_reverse(массив); формирует новый массив переворотом исходного (“поплавок”):

$my_array = array

(

'Имя'=>"Иван",

'Фамилия'=>"Алексеев",

'Должность'=>"доцент",

'Зарплата'=>25560

);

$new_array = array_reverse($my_array);

foreach($new_array as $index=>$value)

{

echo $index, '=>', $value;

echo "<BR>";

}

На экран будет выведено:

Зарплата=>25560

Должность=>доцент

Фамилия=>Алексеев

Имя=>Иван

Таким образом, связь “индекс-значение” в новом массиве сохраняется.

 

shuffle(массив);перемешивание элементов массива-списка в случайном порядке:

$my_array = array

(

"Иван",

"Алексеев",

"доцент",

);

shuffle($my_array);

foreach($my_array as $index=>$value)

{

echo $index, '=>', $value;

echo "<BR>";

}

 

На экран будет выведено:

 

 

Таким образом, прежняя связь “индекс-значение” в массиве не сохраняется. При каждом

обновлении веб-страницы порядок следования элементов массива будет меняться.

 

array_count_values(массив); определяет, сколько раз каждое значение встречается в массиве-списке, создавая ассоциативный массив:

$my_array = array

(

"Иван",

"Виктор",

“Петр”,

"Иван"

);

$count_array = array_count_values($my_array);

foreach($count_array as $index=>$value)

{

echo $index, '=>', $value;

echo "<BR>";

}

 

На экран будет выведено:

 

Иван=>2

Виктор=>1

Петр=>1

Таким образом, формируется новый ассоциативный массив, индексами элементов которого являются значения элементов исходного массива, а значениями элементов – количество их повторений.

 

in_array(переменная, массив); возвращает true, если в массиве есть элемент, равный значению переменной.

 

 

array_push(массив, переменная1, переменная2, …);добавляетв конец массива-списка новые элементы, равные значениям указанных переменных, и возвращает новое число элементов массива.

array_unshift(массив, переменная1, переменная2, …);добавляетв начало массива-списка новые элементы, равные указанным переменным (вдвигает их в массив слева), и возвращает новое число элементов массива; индексы всех элементов массива пересчитываются, начальному элементу присваивается индекс 0:

 

$my_array = array(5, 4, 3, 2, 1);

$x1 = 1;

$x2 = 2;

$x3 = 3;

$n = array_unshift($my_array, $x1, $x2, $x3); //$n=8

foreach($my_array as $index=>$value)

{

echo $index, '=>', $value;

echo "<BR>";

}

На экран будет выведено:

 

array_pop(массив); возвращает последний элемент массива-списка, предварительно удалив его из массива.

array_shift(массив); возвращает первый элемент массива-списка, предварительно удалив его из массива; индексы оставшихся элементов пересчитываются, начиная с 0.

 

В PHP имеются предопределенные массивы с глобальной областью видимости. Их

называют автоглобальными или суперглобальными массивами, поскольку они доступны из любого сценария на языке PHP.

Из большого перечня таких массивов нас будут интересовать только два. Они хранят значения элементов формы HTML-документа, переданные из нее сценарию PHP для обработки на сервере:

- $_GET – содержит данные, переданные в сценарий как часть URL-адреса. Это происходит в том случае, когда в форме определен метод передачи METHOD=GET,

- $_POST – содержит данные, переданные из формы методом POST.

Оба этих массива являются ассоциативными, причем индексы их элементов – это имена элементов (полей) формы, задаваемые атрибутами NAME, а значения – переданные из этих полей данные.

Например, серверному сценарию из HTML-формы было передано методом POST содержимое элемента формы с атрибутом NAME=”user_data”. Это значение может быть получено в сценарии как $_POST[“user_data”] – элемент массива $_POST с индексом “user_data”.

Пример: создать форму со следующими элементами (полями) и передать их значения PHP-сценарию методом POST:

 

<HTML>

<HEAD>

<TITLE>



<== предыдущая лекция | следующая лекция ==>
Запись значений элементов массива в переменные из списка | Работа с формой


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.011 сек.