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.
Result of php executing
Full code of Oxem_test.php
- <?
- /* Необходимо выделить из списка сотрудников компании только тех, кто имеет роль разработчика и возраст которых не превышает 20 лет.
- Пример массива входные данных:
- $people = [
- [
- 'first_name' => 'Иван',
- 'last_name' => 'Иванов',
- 'occupation' => 'Разработчик',
- 'age' => 21
- ],
- [
- 'first_name' => 'Роман',
- 'last_name' => 'Романов',
- 'occupation' => 'Дизайнер',
- 'age' => 20
- ],
- [
- 'first_name' => 'Петр',
- 'last_name' => 'Петров',
- 'occupation' => 'Аналитик',
- 'age' => 22
- ],
- [
- 'first_name' => 'Борис',
- 'last_name' => 'Борисов',
- 'occupation' => 'Разработчик',
- 'age' => 19
- ],
- [
- 'first_name' => 'Денис',
- 'last_name' => 'Денисов',
- 'occupation' => 'Разработчик',
- 'age' => 27
- ],
- [
- 'first_name' => 'Максим',
- 'last_name' => 'Максимов',
- 'occupation' => 'Разработчик',
- 'age' => 19
- ],
- [
- 'first_name' => 'Анна',
- 'last_name' => 'Иванова',
- 'occupation' => 'PM',
- 'age' => 24
- ],
- ];
- */
- function getDevelopersYoungerThanTwenty(array $input): array
- {
- $people = [];
- foreach ($input as $key => $value) {
- if ($input['age'] <= 20 && $input['occupation'] == 'Разработчик') {
- $people[] = $input;
- }
- }
- return $people;
- }
- /* Необходимо написать метод, на вход которого подается строка чисел, указанных через пробел. Метод должен возвращать строку, содержащую максимальное и минимальное число через пробел.
- Пример вызова метода и возвращаемый разультат:
- getMaxAndLow("61 2 513 45 5"); return "513 2"
- */
- function getMaxAndLow(string $input): string
- {
- $arr = explode(" ", $input);
- $min = (int)$arr[0];
- $max = $min;
- for ($i = 0; $i < count($arr); $i++) {
- if ((int)$arr[$i] > $max) {
- $max = (int)$arr[$i];
- }
- if ((int)$arr[$i] < $min) {
- $min = (int)$arr[$i];
- }
- }
- }
- $result = "$max " . "$min";
- return $result;
- }
- // Необходимо очистить номер телефона, переданный в виде строки, приведя его к формату 7ХХХХХХХХХХ (ведущую 8 заменить на 7).
- // Примеры входных данных: " +71234567890. ", "8 (123) 456-78-90", "+7 123 5555555", " 8 123 4567890 "
- // Пример выходных данных: "71234567890", "71234567890", "71235555555"
- function parsePhone(string $input): string
- {
- $flag = false;
- for ($i = 0; $i < strlen($input); $i++) {
- if (is_numeric($input[$i])) {
- if ($input[$i] == '8' && $flag == false) {
- $flag = true; //чтобы цифра 8 менялась только в начале строки, единожды
- str_replace('8', '7');
- } else {
- $flag = true; //если восьмерка не была встречена вначале, дальше ее искать не стоит
- }
- } else {
- str_replace($input[$i], '');
- $i--; //у нас уменьшилось количество символов, т.к. мы убрали все пробелы и прочие символы, отличные от чисел
- }
- }
- }