2023-03-04
Задачи. Работа с массивами на языке PHP.
Задание
У нас есть массив:
$arr = array("апельсин", "банан");
Добавьте в конец этого массив еще несколько элементов, чтобы на выходе получилось примерно так:
Array ( [0] => апельсин [1] => банан [2] => яблоко [3] => дыня )
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя
$arr = array("апельсин", "банан");
array_push($arr,"яблоко", "дыня");
print_r($arr);
Ответ пользователя kuraevam89@yandex.ru
Ответ пользователя info@maxed.pro
<?php
$arr = array("апельсин", "банан");
$arr[] = "яблоко";
$arr[] = "дыня";
print_r($arr);
Задание
У нас есть 2 массива.
$arr1 = ['first','second']; $arr2 = [3,4];
Объедините их, чтобы в результате получился примерно такой массив:
Array ( [0] => first [1] => second [2] => 3 [3] => 4 )
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя kuraevam89@yandex.ru
Ответ пользователя info@maxed.pro
<?php
$arr1 = ['first','second'];
$arr2 = [3,4];
$arr3 = array_merge($arr1, $arr2);
print_r($arr3);
Задание
Имеется массив:
$arr = ['first','second','third'];
Предположим, что мы не знаем сколько точно элементов в этом массиве, их количество зависит от состояния базы данных.
Нам нужно к последнему элементу такого массива добавит какую либо строку. Например,
$arr = ['first','second','third - последний элемент'];
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя kuraevam89@yandex.ru
Ответ пользователя info@maxed.pro
<?php
$arr = ['first','second','third'];
$arr[count($arr) - 1] .= ' - последний элемент';
print_r($arr);
Задание
Имеется массив:
$arr = ['first','second','third'];
Удалите в нем первый элемент 'first'.
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя kuraevam89@yandex.ru
Ответ пользователя info@maxed.pro
<?php
$arr = ['first','second','third'];
unset($arr[0]);
print_r($arr);
Задание
Имеется массив:
$messages = [1, 5, 3, 3, 7, 3, 1];
Оставьте в нем только уникальные значения.
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя kuraevam89@yandex.ru
Ответ пользователя info@maxed.pro
<?php
$messages = [1, 5, 3, 3, 7, 3, 1];
$messages = array_unique($messages);
print_r($messages);
Задание
Имеется массив
$arr = Array( Array('laravel','php'), Array('codeigniter','php'), Array('laravel','php'), Array('c++','java') );
Оставьте в нем уникальные значения, чтобы в результате получилось так:
Array ( [0] => Array ( [0] => laravel [1] => php ) [1] => Array ( [0] => codeigniter [1] => php ) [3] => Array ( [0] => c++ [1] => java ) )
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя sidnev70@outlook.com
<?php
$arr = Array(
Array('laravel','php'),
Array('codeigniter','php'),
Array('laravel','php'),
Array('c++','java')
);
$result = [];
$result[] = array_shift($arr);
while (count($arr)) {
$tmp = array_shift($arr);
// print_r($tmp);
// echo count($arr);
$fl = 1;
foreach ($result as $key => $value) {
if (empty(array_diff($value, $tmp))){
$fl = 0;
break;
}
}
if ($fl == 1){
$result[] = $tmp;
}
}
print_r($result);
Ответ пользователя kuraevam89@yandex.ru
Ответ пользователя info@maxed.pro
<?php
$arr = Array(
Array('laravel','php'),
Array('codeigniter','php'),
Array('laravel','php'),
Array('c++','java')
);
$serializedArr = array_map('serialize', $arr);
$uniqueSerializedArr = array_unique($serializedArr);
$uniqueArr = array_map('unserialize', $uniqueSerializedArr);
print_r($uniqueArr);
Задание
Имеется массив
$arr = [1,7,6,4];
Проверьте, есть ли в нем, например, цифра 7. Если цифра имеется, выведите сообщение, что "элемент найден", иначе "элемент НЕ найден".
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя kuraevam89@yandex.ru
Ответ пользователя info@maxed.pro
<?php
$arr = [1,7,6,4];
$res = array_search(7, $arr);
print_r(($res) ? "элемент найден" : "элемент НЕ найден");
Задание
Как в PHP 7 и выше вместо оператора isset проверить существование чего-либо и если это не существует, вернуть какое-то значение по умолчанию.
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя info@maxed.pro
<?php
$value = $var ?? 'default_value';
echo $value;
Задание
Имеется массив:
$arr = [1,7,6,4]
Отсортируйте этот массив по возрастанию и убыванию. Должно получиться.
Array ( [0] => 1 [3] => 4 [2] => 6 [1] => 7 ) и Array ( [0] => 7 [1] => 6 [2] => 4 [3] => 1 )
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя info@maxed.pro
<?php
$arr = [1,7,6,4];
sort($arr);
print_r($arr);
rsort($arr);
print_r($arr);
Задание
Попробуйте отсортировать данный массив по возрастанию или убыванию по датам.
$arr = [ ["meta" => ["2019-12-28"]], ["meta" => ["2020-01-05"]], ["meta" => ["2020-01-12"]], ];
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя info@maxed.pro
<?php
$arr = [
["meta" => ["2019-12-28"]],
["meta" => ["2020-01-05"]],
["meta" => ["2020-01-12"]],
];
usort($arr, function($a, $b) {
return strtotime($a['meta'][0]) <=> strtotime($b['meta'][0]);
});
print_r($arr);
usort($arr, function($a, $b) {
return strtotime($b['meta'][0]) <=> strtotime($a['meta'][0]);
});
print_r($arr);
Задание
Найдите значению ключа массива, у которого значение равно green.
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя info@maxed.pro
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
print_r(array_search("green", $array));
Задание
Найдите ключ в этом массиве, у которого значение uid 40489
$userdb=Array ( (0) => Array ( (uid) => '100', (name) => 'Sandra Shush', (url) => 'urlof100' ), (1) => Array ( (uid) => '5465', (name) => 'Stefanie Mcmohn', (pic_square) => 'urlof100' ), (2) => Array ( (uid) => '40489', (name) => 'Michael', (pic_square) => 'urlof40489' ) );
Вариант автора:
Автор не добавил свой вариант решения.
Ответ пользователя info@maxed.pro
<?php
function find_current_user($userDB, $uid): int|null
{
foreach ($userDB as $key => $value)
{
if ($value['uid'] == $uid)
{
return $key;
}
}
return null;
}
$userDB = [
[
'uid' => '100',
'name' => 'Sandra Shush',
'url' => 'urlof100'
],
[
'uid' => '5465',
'name' => 'Stefanie Mcmohn',
'pic_square' => 'urlof100'
],
[
'uid' => '40489',
'name' => 'Michael',
'pic_square' => 'urlof40489'
]
];
print_r(find_current_user($userDB, '40489') ?? "Can't found this user!");
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти