Практическая работа № 3
Тема «Массивы в PHP»
Цели работы:
познакомиться с массивами;
познакомиться с действиями над массивами.
Задание 1. Массивы
Массив с числовыми индексами
Общий вид массива: $array[ключ] = значение;
1. Создать в блокноте документ PHP3_1_1.php, следующего содержания:
<?php
$Array[0] = "Петя";
$Array [1] = "Вася";
$Array [2] = "Ваня";
$Array [3] = "Федор Петрович";
echo "Два моих работника: "
$Array[0] . " и " . $Array[1];
echo "<br />И еще два работника: "
$Array[2] . " и " . $Array[3];
?>
Ассоциативные массивы
В ассоциативном массиве ключ связан со значением. Если необходимо сохранить заработную плату сотрудников в массив, то числовой индекс будет не лучшим выбором, так как в них можно запутаться. Вместо этого можно использовать имена сотрудников в качестве ключей в ассоциативном массиве, а значением будет их зарплата.
2. Создать в блокноте документ PHP3_1_2.php, следующего содержания:
<?php
$Sal["Петя"] = 2000;
$Sal["Вася"] = 4000;
$Sal["Ваня"] = 600;
$Sal["Даша"] = 0;
echo "Петя получает - $" . $Sal["Петя"] . "<br />";
echo "Вася получает - $" . $Sal["Вася"] . "<br />";
echo "А Ваня получает всего - $" . $Sal["Ваня"] . "<br />";
echo "Даша в этом месяце не работала, поэтому - $" . $Sal["Даша"]
?>
Цикл Foreach
3. Создать в блокноте документ PHP3_1_3.php, следующего содержания:
<?php
$Mas["Lisa"] = "28";
$ Mas ["Jack"] = "16";
$ Mas ["Ryan"] = "35";
$ Mas ["Rachel"] = "46";
$ Mas ["Grace"] = "34";
foreach( $Mas as $key => $value){
echo "Имя: $key, Возраст: $value <br />";
}
?>
Для каждого элемента ассоциативного массива $Mas происходит обращение к $key и значению в нем, то есть к $value.
4. Создать в блокноте документ PHP3_1_4.php, следующего содержания:
<?php
$DB[“host”]=”localhost”;
$DB[“user”]=”root”;
$DB[“password”]=””;
$DB[“db_name”]=”test”;
foreach( $DB as $key => $value)
echo "$key => $value <br>";
?>
Слияние массивов
5. Создать в блокноте документ PHP3_1_5.php, следующего содержания:
<?php
$Server= Array(“host”=> “localhost”, “user”=> “root”, “password”=>””);
$DB = Array(“dbname”=>”test”, “table”=> “example”);
$DBINFO = $Server + $DB;
foreach($DBINFO as $key => $value)
echo "$key => $value <br>";
?>
Объединение списков
6. Создать в блокноте документ PHP3_1_6.php, следующего содержания:
<?php
$A1=array(1,2,3);
$A2=array(4,5,6);
$A3=$A1+$A2;
foreach($A3 as $key => $value)
echo "$key => $value <br>";
?>
При слиянии массивов будут найдены элементы с одинаковыми индексами, поэтому оператор + возьмет их из первого массива.
Изменить код:
$A3=array_merge($A1, $A2);
Вывод массива
7. Создать в блокноте документ PHP3_1_7.php, следующего содержания:
<?php
$DB = Array(
“0” => array(“host”=> “localhost”, “user”=> “root”, “password”=>””, “dbname”=>”test”),
“1” => array(“host”=> “server.ru”, “user”=> “root”, “password”=>””, “dbname”=>”test”) );
Print_r($DB);
?>
Сортировка массива
8. Создать в блокноте документ PHP3_1_8.php, следующего содержания:
<?php
$A = Array(3,1,9,5,0,4,5); //исходный текст
Sort($A);
Print_r($A);
?>
9. Создать в блокноте документ PHP3_1_9.php, следующего содержания:
<?php
$A = Array(3,1,9,5,0,4,5); //исходный текст
RSort($A);
Print_r($A);
?>
Сортировка массива по значениям
10. Создать в блокноте документ PHP3_1_10.php, следующего содержания:
<?php
$fruties = Array(“b”=>”banana”, “a”=>”orange”, “c”=>”apple”);
ASort($fruties);
Print_r($fruties);
?>
11. Создать в блокноте документ PHP3_1_11.php, следующего содержания:
<?php
$fruties = Array(“b”=>”banana”, “a”=>”orange”, “c”=>”apple”);
ARSort($fruties);
Print_r($fruties);
?>
Сортировка массива по ключам
12. Создать в блокноте документ PHP3_1_12.php, следующего содержания:
<?php
$fruties = Array(“b”=>”banana”, “a”=>”orange”, “c”=>”apple”);
KSort($fruties); // сортировка по ключам
Print_r($fruties);
KRSort($fruties); // сортировка по ключам в обратном порядке
Print_r($fruties);
?>
Добавление и удаление элементов массива
Добавить элемент в конец массива:
$массив[] = новый_элемент;
Добавление нескольких элементов в конец массива:
Array_push(массив, элемент1, элемент2, …)
Удаление последнего элемента массива:
Mixed array_pop (array, &array)
Добавление элемента в начало списка:
Array_unshift(array &array, mixed var [, mixed …])
13. Создать в блокноте документ PHP3_1_13.php, следующего содержания:
<?php
$fruties = Array(”orange”, ”banana”, ”apple”, “linux”);
$element = array_pop($fruties);
Array_unshift($fruties, “lemon”, “tangerine”);
Print_r($fruties);
?>
Получение части массива
14. Создать в блокноте документ PHP3_1_14.php, следующего содержания:
<?php
$input = Array (1, 2, 3, 4, 5);
$output = array_slice($input, 0, 3);
Print_r($output); // 1, 2, 3
$output = array_slice($input, 2);
Print_r($output); // 3, 4, 5
$output = array_slice($input, -2, 1);
Print_r($output); // 4
?>
Автоматическое заполнение массива
15. Создать в блокноте документ PHP3_1_15.php, следующего содержания:
<?php
$A= Array_fill (0, 10, 5);
Print_r($A); // 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
?>
Сумма и произведение элементов массива
16. Создать в блокноте документ PHP3_1_16.php, следующего содержания:
<?php
$A= range (1,100);
echo array_sum($A);
echo array_product($A);
?>
Подсчет значений в массиве
17. Создать в блокноте документ PHP3_1_17.php, следующего содержания:
<?php
$A= array (“denis”, “hello”, 1,1, “hello”);
Print_r(array_count_values($A));
?>
Задание 2. Функция замены str_replace
Работа со строками
Общий вид: str_replace(search, replace, originalString);
search — это то, что надо найти. Это может быть строка или массив.
replace — все найденные элементы, которые задали в search для поиска, будут заменены на это значение. Это, опять же, может быть строка или массив.
originalString — исходная строка, в которой и будет производиться поиск. Функция НЕ меняет входную строку!
1. Создать в блокноте документ PHP3_2_1.php, следующего содержания:
<?php
//Входная строка, которую будем использовать как шаблон
$rawstring = "На полке лежит X килограмм мандарин.";
//заменяем
$str_1 = str_replace("X", "10", $rawstring);
//можно и на другое значение заменить, любое
$str_2 = str_replace("X", "135473", $rawstring);
echo "Первый раз: ". $str_1 . "<br />";
echo "Второй раз: ". $str_2;
?>
Работа с массивами
2. Создать в блокноте документ PHP3_2_2.php, следующего содержания:
<?php
$rawstring = "На Z лежит X килограмм отборных Y."; //Строка - шаблон
$placeholders = array(Z, X, Y); //массив ЧТО будем заменять
$vals_1 = array(полке, 5, апельсинов); //Массив НА ЧТО будем заменять
$vals_2 = array(столе, 189, груш); //Ну или на это
$str_1 = str_replace($placeholders, $vals_1, $rawstring); //заменяем раз
$str_2 = str_replace($placeholders, $vals_2, $rawstring); //заменяем два
echo "Один: ". $str_1 . "<br />";
echo "Два: ". $str_2;
?>
За выполненные задания:
Самостоятельная работа Баллы
Задание 1- Задание 2 5 баллов
Массивы в PHP
Практическая работа по предмету «Web-программирование»