ВСЕ СТАТЬИ
Блог начинающего программиста
Кнопка войти через Яндекс
Регистрация
Видеокурс по основам PHP 8

Бесплатные видеоуроки по PHP 8

Получи 32 бесплатных видеоурока по основам PHP 8

Получить уроки

Массивы

Опубликовано:

Условие задачи:

Напишите функцию, принимающую в качестве параметра массив, состоящий из чисел, а также булевский параметр. Данная функция должна возвращать отсортированный array. Вид сортировки (по возрастанию или по убыванию) должен зависеть от булевской переменной. Например, пришло это: (5, 3, 7, -1, 0), а должно возвратиться это (-1, 0, 3, 5, 7), или это (7, 5, 3, 0, -1). Вызовите функцию два раза: один раз с сортировкой по возрастанию, а другой - по убыванию.

Решение задачи:


<?php
function printArray ($arr, $bool) 
  {
    if ($bool == false) 
    {    
        sort ($arr);
    
        for ($i = 0; $i < count($arr); $i++)
        {
          echo "$arr[$i] ";    
        }
        echo "<br />";
    }
    elseif ($bool == true) 
    {
        rsort ($arr);
    
        for ($i = 0; $i < count($arr); $i++)
        {
          echo "$arr[$i] ";    
        }
        echo "<br />";
    }
  }
    $arr = array(5, 3, 7, -1, 0);
    
    printArray ($arr, true);
    printArray ($arr, false);
    
 

Дополнено 26.09.2017

Массив городов

Задание из книги Д. Ляпина, А. Никитина «PHP – это просто» после урока 6.
Требуется объявить array: ключи- названия областей; значения - массивы с городами из соответствующей области. Оформить и вывести на экран. Также вывести затем города, начинающиеся на букву "К".

Решение:

Для решения любой задачи программисту прежде всего необходимо представить алгоритм выполнения действий. В данном задании array двумерный: массив областей содержит внутри себя массивы городов. Требуется array областей пройти циклом foreach. Одновременно внутри каждой области обойти array городов. Ниже представлены блок-схемы алгоритмов обходов массивов циклами - внешним для областей и внутренним для городов.

Циклы городов

Блок-схема циклов вывода всех городов и областей

Циклы городов с буквой К

Блок-схема циклов вывода городов, начинающихся с буквы "К"

Файл с кодом решения задачи:


            <?php
	$city_rus = array(
	"Московская область" => array("Москва", "Зеленоград", "Клин", "Можайск"), 
	"Ленинградская область" => array("Санкт-Петербург", "Петергоф", "Тихвин", "Подпорожье", "Кронштадт"), 
	"Рязанская область" => array("Рязань", "Касимов", "Ряжск", "Скопин", "Рыбное"), 
	"Республика Карелия" => array("Петрозаводск", "Олонец", "Суоярви", "Сортавала", "Беломорск", "Кемь", "Питкяранта")
	);
	foreach ($city_rus as $regions => $city_reg) 
	{
    echo $regions , ':<br>    ' , implode(', ', $city_reg), '.', '<br>';
	} 
	echo 'Города, начинающиеся с буквы К: ';
	foreach ($city_rus as $regions => $city_reg)
    {        
        foreach ($city_reg as $city_rus)
        {
			/* Так как строка в кодировке utf-8 и в ней есть русские буквы,
			используем функцию mb_substr*/
			if (mb_substr($city_rus, 0, 1, 'UTF-8') == 'К')
				$str .= "$city_rus, ";
        }
    }
 	/*Удаляем два последние символа в строке ',' и ' '*/
         
	 $result = substr($str, 0, -2);
	 echo $result . '.';
         

 /* Результат работы скрипта:
 Московская область:
   Москва, Зеленоград, Клин, Можайск.
Ленинградская область:
   Санкт-Петербург, Петергоф, Тихвин, Подпорожье, Кронштадт.
Рязанская область:
   Рязань, Касимов, Ряжск, Скопин, Рыбное.
Республика Карелия:
   Петрозаводск, Олонец, Суоярви, Сортавала, Беломорск, Кемь, Питкяранта.

Города, начинающиеся с буквы К: Клин, Кронштадт, Касимов, Кемь.
 */
?>
        

Транслитерация в массиве

Следующее задание из книги Д. Ляпина, А. Никитина из того же 6-го урока.

Объявить массив, индексы которого - буквы русского алфавита, значения - соответствующие им латинские буквосочетания ('а' =>'a', 'б' =>'b', 'с' =>'c', ... 'я' =>'ya'). Написать функцию транслитерации строк.

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

Объединить эти функции в одну функцию, которая делает транслитерацию и замену пробелов на подчеркивания.

Это применяется при изготовлении URL-адресов по названиям статей в блогах.

Решение.


<?php
    function transliteration ($header)
    {
	$alphab = array('а' => 'a',                  
			'б' => 'b',                  
			'в' => 'v',                  
			'г' => 'g',                  
			'д' => 'd',                  
			'е' => 'e',                  
			'ё' => 'e',                  
			'ж' => 'zh',                 
			'з' => 'z',                  
			'и' => 'i',                  
			'й' => 'i',                  
			'к' => 'k',                  
			'л' => 'l',                  
			'м' => 'm',                  
			'н' => 'n',                  
			'о' => 'o',                  
			'п' => 'p',                  
			'р' => 'r',                  
			'с' => 's',                  
			'т' => 't',                  
			'у' => 'u',                  
			'ф' => 'f',                  
			'х' => 'kh',                 
			'ц' => 'ts',                 
			'ч' => 'ch', 
			'ь' => '',
			'ш' => 'sh',                 
			'щ' => 'shch',                
			'ы' => 'y',                  
			'ъ' => '\'',
			'э' => 'e',                  
			'ю' =>'yu',                 
			'я' => 'ya',
			' ' => '_'
			);   
	   return strtr ($header, $alphab);
	}
	echo transliteration ("задача по php"); //Выведет: zadacha_po_php
        

Кипящий чайник с выхлопом клубов пара из носика

Интенсив «Основы программирования»

Бесплатный курс по программированию

Начать обучение

Бесплатный курс по основам PHP

Бесплатный Видеокурс по PHP!

Пример создания PHP-сайта!

Подробнее

Комментарии

Пока комментарий нет

Оставить свой комментарий:

Кнопка войти через Яндекс Зарегистрироваться
Имя:
Электронная почта:
Текст комментария:
Введите код с картинки:
картинка
PHP хостинг ХостиЯ