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

Самый востребованный язык программирования

Какой язык программирования должен знать абсолютно любой программист?

Узнай прямо сейчас!

Массивы

Опубликовано: 2016-10-08
Условие задачи:
Напишите функцию, принимающую в качестве параметра массив, состоящий из чисел, а также булевский параметр. Данная функция должна возвращать отсортированный массив. Вид сортировки (по возрастанию или по убыванию) должен зависеть от булевской переменной. Например, пришло это: (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.
Требуется объявить массив: ключи- названия областей; значения - массивы с городами из соответствующей области. Оформить и вывести на экран. Также вывести затем города, начинающиеся на букву "К".
Решение:
Для решения любой задачи программисту прежде всего необходимо представить алгоритм выполнения действий. В данном задании массив двумерный: массив областей содержит внутри себя массивы городов. Требуется массив областей пройти циклом foreach. Одновременно внутри каждой области обойти массив городов. Ниже представлены блок-схемы алгоритмов обходов массивов циклами - внешним для областей и внутренним для городов.

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

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


            <?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 хостинг ХостиЯ