Oxem_test - PHP Online

Form of PHP Sandbox

Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php in the places where the PHP script should be executed.



Your result can be seen below.

Result of php executing





Full code of Oxem_test.php

  1. <?
  2.  
  3. /* Необходимо выделить из списка сотрудников компании только тех, кто имеет роль разработчика и возраст которых не превышает 20 лет.
  4. Пример массива входные данных:
  5. $people = [
  6.     [
  7.       'first_name' => 'Иван',
  8.       'last_name' => 'Иванов',
  9.       'occupation' => 'Разработчик',
  10.       'age' => 21
  11.     ],
  12.     [
  13.       'first_name' => 'Роман',
  14.       'last_name' => 'Романов',
  15.       'occupation' => 'Дизайнер',
  16.       'age' => 20
  17.     ],
  18.     [
  19.       'first_name' => 'Петр',
  20.       'last_name' => 'Петров',
  21.       'occupation' => 'Аналитик',
  22.       'age' => 22
  23.     ],
  24.     [
  25.       'first_name' => 'Борис',
  26.       'last_name' => 'Борисов',
  27.       'occupation' => 'Разработчик',
  28.       'age' => 19
  29.     ],
  30.     [
  31.       'first_name' => 'Денис',
  32.       'last_name' => 'Денисов',
  33.       'occupation' => 'Разработчик',
  34.       'age' => 27
  35.     ],
  36.     [
  37.       'first_name' => 'Максим',
  38.       'last_name' => 'Максимов',
  39.       'occupation' => 'Разработчик',
  40.       'age' => 19
  41.     ],
  42.     [
  43.       'first_name' => 'Анна',
  44.       'last_name' => 'Иванова',
  45.       'occupation' => 'PM',
  46.       'age' => 24
  47.     ],
  48. ];
  49. */
  50. function getDevelopersYoungerThanTwenty(array $input): array
  51. {
  52.     $people = [];
  53.     foreach ($input as $key => $value) {
  54.         if ($input['age'] <= 20 && $input['occupation'] == 'Разработчик') {
  55.             $people[] = $input;
  56.         }
  57.     }
  58.     return $people;
  59. }
  60.  
  61. /* Необходимо написать метод, на вход которого подается строка чисел, указанных через пробел. Метод должен возвращать строку, содержащую максимальное и минимальное число через пробел.
  62. Пример вызова метода и возвращаемый разультат:
  63. getMaxAndLow("61 2 513 45 5"); return "513 2"
  64. */
  65. function getMaxAndLow(string $input): string
  66. {
  67.     $arr = explode(" ", $input);
  68.     $min = (int)$arr[0];
  69.     $max = $min;
  70.     for ($i = 0; $i < count($arr); $i++) {
  71.         if ((int)$arr[$i] > $max) {
  72.             $max = (int)$arr[$i];
  73.         }
  74.         if ((int)$arr[$i] < $min) {
  75.             $min = (int)$arr[$i];
  76.         }
  77.     }
  78. }
  79.  
  80. $result = "$max " . "$min";
  81. return $result;
  82. }
  83.  
  84. // Необходимо очистить номер телефона, переданный в виде строки, приведя его к формату 7ХХХХХХХХХХ (ведущую 8 заменить на 7).
  85. // Примеры входных данных: "    +71234567890.    ", "8 (123) 456-78-90", "+7 123        5555555", "    8 123 4567890    "
  86. // Пример выходных данных: "71234567890", "71234567890", "71235555555"
  87. function parsePhone(string $input): string
  88. {
  89.     $flag = false;
  90.     for ($i = 0; $i < strlen($input); $i++) {
  91.         if (is_numeric($input[$i])) {
  92.             if ($input[$i] == '8' && $flag == false) {
  93.                 $flag = true; //чтобы цифра 8 менялась только в начале строки, единожды
  94.                 str_replace('8', '7');
  95.             } else {
  96.                 $flag = true; //если восьмерка не была встречена вначале, дальше ее искать не стоит
  97.             }
  98.         } else {
  99.             str_replace($input[$i], '');
  100.             $i--; //у нас уменьшилось количество символов, т.к. мы убрали все пробелы и прочие символы, отличные от чисел
  101.         }
  102.     }
  103. }
File Description
  • Oxem_test
  • PHP Code
  • 19 Apr-2022
  • 3.8 Kb
You can Share it: