создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

Урок 8. Комбинации стандартных функций в PHP. Практика

Содержание

В задачах нужно применить комбинацию стандартных функций PHP из предыдущих уроков.

Дан массив с числами. Найдите среднее арифметическое его элементов (сумму элементов делить на их количество), не используя цикл.

<?$a=[1,2,3,4,5];echo array_sum($a)/count($a)?>

3.

Найдите сумму чисел от 1 до 8 не используя цикл.

<?echo array_sum(range(1,8))?>

36.

Выведите числа от 1 до 8 не используя цикл.

<?$a=range(1,8);echo implode($a,'; ')?>

1; 2; 3; 4; 5; 6; 7; 8.

Заполните массив 8-ю иксами не используя цикл (функция array_fill).

<?$a=array_fill(0,8,'x');print_r($a)?>

Array ( [0] => x [1] => x [2] => x [3] => x [4] => x [5] => x [6] => x [7] => x ) .

Заполните массив 8-ю случайными числами от 1 до 8 так, чтобы они не повторялись, не используя цикл (функции range и shuffle).

<?$a=range(1,8);shuffle($a);print_r($a)?>

Array ( [0] => 3 [1] => 7 [2] => 8 [3] => 2 [4] => 6 [5] => 1 [6] => 4 [7] => 5 ) .

Найдите 4!, не используя цикл (функции range и array_product).

<?$n=4;/*найдем 4!*/$a=range(1,$n);echo array_product($a)?>

24.

Дано число. Найти сумму цифр этого числа, не используя цикл (функции split и array_sum).

<?$n=123;$a=str_split($n,1);echo array_sum($a)?>

6.

Дана строка. Сделайте заглавным последний символ этой строки, не используя цикл.

Перевернуть строку, используя функцию ucfirst, затем перевернуть строку обратно:

<?$s='abcde';$s=strrev($s);$s=ucfirst($s);$s=strrev($s);echo$s?>

abcdE.

Дан массив с числами. Получите из него массив с квадратными корнями этих чисел, не используя цикл (функции array_map и sqrt).

<?$a=[1,4,5,7,9];$r=array_map('sqrt',$a);print_r($r)?>

Array ( [0] => 1 [1] => 2 [2] => 2.2360679774998 [3] => 2.6457513110646 [4] => 3 ) .

Заполните массив числами от 1 до 26 так, чтобы ключами этих чисел были буквы английского алфавита ['a'=>1,'b'=>2,…], не используя цикл.

<?$k=range('a','z');$e=range(1,26);$a=array_combine($k,$e);print_r($a)?>

Array ( [a] => 1 [b] => 2 [c] => 3 [d] => 4 [e] => 5 [f] => 6 [g] => 7 [h] => 8 [i] => 9 [j] => 10 [k] => 11 [l] => 12 [m] => 13 [n] => 14 [o] => 15 [p] => 16 [q] => 17 [r] => 18 [s] => 19 [t] => 20 [u] => 21 [v] => 22 [w] => 23 [x] => 24 [y] => 25 [z] => 26 ) .

Внимание, как только число 26 не совпадает с количеством букв в английском алфавите, начинаются проблемы:

<?$k=range('a','z');$e=range(1,18);$a=array_combine($k,$e);print_r($a)?>


Warning: array_combine(): Both parameters should have an equal number of elements in /home/vhosts/podolsk.xp3.biz/kniga/kniga011/08.php on line 37
.

<?$k=range('a','z');$e=range(1,38);$a=array_combine($k,$e);print_r($a)?>


Warning: array_combine(): Both parameters should have an equal number of elements in /home/vhosts/podolsk.xp3.biz/kniga/kniga011/08.php on line 39
.

Дана строка с числами '1234567890'. Найдите сумму пар чисел 12+34+56+78+90, не используя цикл (функции str_split и array_sum).

<?$s='1234567890';$a=str_split($s,2);$r=array_sum($a);echo$r?>

270.

Содержание

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting