Функции и массивы в PHP. (Лекция 11) презентация

Содержание

Изучаемые вопросы 1. Функции, определяемые пользователем 2. Массивы

Слайд 1Лекция 11: Функции и массивы в PHP


Слайд 2 Изучаемые вопросы
1. Функции, определяемые пользователем
2. Массивы


Слайд 31. Функции, определяемые пользователем
function имя_функции ($параметр1, $параметр2, .... $параметрn)
{
тело

функции
}
Например:
function display_copyright($site_name) {
print "Copyright © 2015 $site_name. All Rights Reserved.";
}



Слайд 4Возврат значений функцией Пример: вычисление налога:
$price = 24.99; $tax = .06;
function

calculate_cost($tax, $price)
{
$sales_tax = $tax;
return $price + ($price * $sales_tax);
}
 
$total_cost = calculate_cost ($tax, $price);
// Округлить цену до двух десятичных цифр.
$total_cost = round($total_cost, 2);
print "Total cost: $".$total_cost;


Слайд 5Рекурсивные функции Пример вычисления факториала:

else $fact = $n * fact($n-1);
return $fact = $n * fact($n-1);
}
echo ”fact=”.fact(5);

?>

Слайд 6Функции-переменные (variable functions)
$имя_функции( );

function french( ) {
print "Bienvenue sur

PHP Recipes.";
}

function english( ) {
print "Welcome to PHP Recipes.";
}

$language = "french":
$language( );


Слайд 7Построение библиотек функций

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

function merge_sort($array, $tmparray, $right, $left) {
...
}

function bubble_sort($array, $n) {
...
}
 
function quicksort ($array, $right, $left) {
...
}
?>




Слайд 8

include(путь/имя_файла);
require( путь/имя_файла );

или

include " путь/имя_файла";
require " путь/имя_файла";


Слайд 92. Массивы
$array_name = array("key1"=>"value1", "key2"=>"value2");

$array_name["key1"] = value1;

жизнь", "12"=>"Информатика");
$del_items["13"] = "Программирование на Php";
?>

Слайд 10Операции с массивами

"ф"=>"Физика");
$c = $a + $b;
$d = $b + $a;
print_r($c);
// получим: Array([и]=>Информатика [м]=>Математика [ф]=>Физика)
print_r($d);
// получим: Array([и]=>История [м]=>Биология [ф]=>Физика)
?>

Слайд 11Сравнение массивов

($a == $b) echo "Массивы равны и";
else echo "Массивы НЕ равны и ";
if ($a === $b) echo " эквивалентны";
else echo " НЕ эквивалентны";
// получим echo "Массивы равны и НЕ эквивалентны"
?>

Слайд 12Функция count

// выведет 2
echo count($del_items, COUNT_RECURSIVE);
// выведет 4
?>

Слайд 13Функция in_array
in_array("искомое значение", "массив", ["ограничение на тип"]);

array("PHP", "Java"), "Perl");
if (in_array("Java", $langs)) echo "Надо бы изучить Java
»;
if (in_array("java", $langs)) echo "Надо бы изучить java
";
if (in_array(array("PHP", "Java"), $langs)) echo "Надо бы изучить PHP и Java
";
?>

Слайд 14Функция array_search
array_search("искомое значение", "массив", ["ограничение на тип"]);

"Java", "PHP", "Perl");
if (!array_search("PHP", $langs)) echo "Надо бы изучить PHP
";
else
{
$k = array_search("PHP", $langs);
echo "PHP изучен $k – м";
}
?>

Слайд 15Функция array_keys
array_keys ("массив", ["значение для поиска"]);

"PHP", "Perl", "Lisp");
$lisp_keys = array_keys($langs, "Lisp");
echo "Lisp входит в массив ".count($lisp_keys)." раза:
";
foreach ($lisp_keys as $val) echo "- под номером $val
";
?>

Lisp входит в массив 2 раза:
- под номером 0
- под номером 5


Слайд 16Функция array_unique

print_r(array_unique($langs));
?>

Array ( [0] => Lisp [1] => Java [2] => Python [3] => PHP [4] => Perl )

Слайд 17Сортировка массивов Функция sort
sort (массив [, флаги]);

20 => "молоко", 30 => "бутерброд");
sort($items); print_r($items);
$rev_items = array("хлеб" => 10, "бутерброд" => 30, "молоко" => 20);
sort($rev_items);print_r($rev_items);
?>
Результат:
Array ( [0] => бутерброд [1] => молоко [2] => хлеб )
Array ( [0] => 10 [1] => 20 [2] => 30 )


Слайд 18

SORT_REGULAR – сравнивать элементы массива обычным образом;
SORT_NUMERIC – сравнивать элементы

массива как числа;
SORT_STRING – сравнивать элементы массива как строки.


Слайд 19Функции asort, rsort, arsort
asort (массив [, флаги])
rsort (массив [, флаги])


arsort(массив [, флаги])

$books = array("Пушкин"=>"Руслан и Людмила", "Толстой"=>"Война и мир", "Лермонтов"=>"Герой нашего времени");
asort($books);
print_r($books);echo "
";
rsort($books);
print_r($books);
?>
Результат:
Array ( [Толстой] => Война и мир
[Лермонтов] => Герой нашего времени
[Пушкин] => Руслан и Людмила )
Array ( [0] => Руслан и Людмила
[1] => Герой нашего времени
[2] => Война и мир )

Слайд 20Задание: изменять порядок отображения элементов по желанию пользователя


border=1>

Название:


Краткое содержание:



Автор:



Дата публикации:






Слайд 21

ключи
arsort ($_GET);
print_r($_GET);
echo "
";
// составляем новый массив
$ordered_names = array_keys($_GET);
// выводим элементы нового массива
foreach($ordered_names as $key => $val) echo "$key :$val
";
?>

Слайд 22Сортировка массива по ключам

мир", "Лермонтов"=>"Герой нашего времени");
ksort($books); // сортируем массив, сохраняя значения ключей
print_r($books);
?>
Результат:
Array ( [Лермонтов] => Герой нашего времени
[Пушкин] => Руслан и Людмила
[Толстой] => Война и мир )


Слайд 23Сортировка с помощью функции, заданной пользователем
usort (массив, сортирующая функция);
uksort (массив, сортирующая

функция);

$books = array(
"Герой нашего времени" => array ("Лермонтов", 1840),
"Руслан и Людмила" => array("Пушкин",1820),
"Война и мир" => array ("Толстой",1863),
"Идиот" => array("Достоевский",1868));
uasort($books, "cmp");
foreach ($books as $key => $book) echo "$book[0]: \"$key\"
";
function cmp($a, $b){
if ($a[1] < $b[1]) return -1;
elseif ($a[1]==$b[1]) return 0;
else return 1;
}
?>
Пушкин: "Руслан и Людмила"
Лермонтов: "Герой нашего времени"
Толстой: "Война и мир"
Достоевский: "Идиот"


Слайд 24Применение функции ко всем элементам массива
array_walk(массив, функция [, данные]

array(
"А.С. Пушкин"=>"Руслан и Людмила",
"Л.Н. Толстой"=>"Война и мир",
"М.Ю. Лермонтов"=>"Герой нашего времени");
function try_walk($val,$key,$data)
{
echo "$data \"$val\" написал $key
";
}
array_walk($books1,"try_walk","Роман");
?>
Результат работы скрипта:
Роман "Руслан и Людмила" написал А.С. Пушкин
Роман "Война и мир" написал Л.Н. Толстой
Роман "Герой нашего времени" написал М.Ю. Лермонтов


Слайд 25

Толстой"=>"Война и мир",
"М.Ю. Лермонтов"=>"Герой нашего времени");
function try_walk(&$val,$key)
{
$key = "

Автор: " .$key ."
";
$val = "Название: \"" . $val ."\"

";
echo $key.$val;
}
array_walk($books1,"try_walk");
print_r($books1);
?>
Результат работы скрипта:
Автор: А.С. Пушкин
Название: "Руслан и Людмила"

Автор: Л.Н. Толстой
Название: "Война и мир"

Автор: М.Ю. Лермонтов
Название: "Герой нашего времени"

Array ( [А.С. Пушкин] => Название: "Руслан и Людмила"
[Л.Н. Толстой] => Название: "Война и мир"
[М.Ю. Лермонтов] => Название: "Герой нашего времени")

Слайд 26Выделение подмассива  Функция array_slice
array_slice (массив, номер_элемента [, длина]);

3, 4, 5);
$sub_arr = array_slice($arr, 2);
print_r($sub_arr);
/* выведет Array ( [0] => 3
[1] => 4
[2] => 5 )*/
$sub_arr = array_slice($arr,-2);
print_r($sub_arr);
// выведет Array ( [0] => 4 [1] => 5 ),
?>

Слайд 27

2, 2);

$sub1 = array_slice($arr,-3, 2);

$sub2 = array_slice($arr,0, -1);

$sub3 = array_slice($arr,-4, -2);
?>

Слайд 28Функция array_chunk
array_chunk ( массив, размер [, сохранять_ключи]);

"Сидорова", "Зайцева", "Волкова");
$triples = array_chunk($persons,3);
foreach ($triples as $k => $table)
{
echo "За столиком номер $k сидят:
    ";
    foreach ($table as $pers) echo "
  • $pers"
  • ;
    echo "
";
}
?>
Результат:
за столиком номер 0 сидят:
• Иванов
• Петров
• Сидорова

за столиком номер 1 сидят:
• Зайцева
• Волкова


Слайд 29Сумма элементов массива

4);
foreach ($arr as $k => $val)
{
$p = $k + 1;
$out_next = array_slice($arr, $p);
$out_prev = array_slice($arr, 0, $k);
$next_sum = array_sum($out_next);
$prev_sum = array_sum($out_prev);
if ($next_sum == $prev_sum) echo "value:$val";
// можно посмотреть, что представляют собой
// рассмотренные массивы на каждом шаге
// print_r($out_next); echo "
";
// print_r($out_prev);
// echo "$next_sum, $prev_sum
";
echo "
";
}
?>

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика