Есть 2 массива c названиями животных:
$m = array(5) {
[0]=>
string(13) "Panthera onca"
[1]=>
string(9) "Gray wolf"
[2]=>
string(12) "Bengal tiger"
[3]=>
string(10) "Brown bear"
[4]=>
string(22) "Aptenodytes patagonica"
}
$n = array(5) {
[0]=>
string(10) "Koala bear"
[1]=>
string(24) "Haliaeetus leucocephalus"
[2]=>
string(22) "Ailuropoda melanoleuca"
[3]=>
string(15) "Bos primigenius"
[4]=>
string(20) "Aptenodytes forsteri"
}
Случайно перемешайте между собой первые и вторые слова названий животных так, чтобы на выходе мы получили выдуманных, фантазийных животных. Название фантазийного животного должно начинаться с первого слова реального названия животного. Важно, чтобы каждый кусочек был использован и не повторялся более одного раза. Ничего страшного, если в результате перемешивания иногда будут получаться реальные животные. Вывести этих животных на экран.
Я не понимаю как это сделать. Уже 3 день ломаю голову. Хотя бы подскажите каким образом это можно реализовать. Заранее спасибо за ответы)
<?php
$m = [
"Panthera onca",
"Gray wolf",
"Bengal tiger",
"Brown bear",
"Aptenodytes patagonica"
];
$n = [
"Koala bear",
"Haliaeetus leucocephalus",
"Ailuropoda melanoleuca",
"Bos primigenius",
"Aptenodytes forsteri"
];
$a_1 = [];
$a_2 = [];
$out = [];
foreach (array_merge($m, $n) as $item) {
$tmp = explode(' ', $item);
$a_1[] = $tmp[0];
$a_2[] = $tmp[1];
}
shuffle($a_1);
shuffle($a_2);
for ($i = 0, $j = count($a_1); $i < $j; $i++) {
$out[] = $a_1[$i] .' '. $a_2[$i];
}
var_dump($out);
Сделал тоже самое что и @Эдуард но немного иначе)
$m = [
"Panthera onca",
"Gray wolf",
"Bengal tiger",
"Brown bear",
"Aptenodytes patagonica"
];
$n = [
"Koala bear",
"Haliaeetus leucocephalus",
"Ailuropoda melanoleuca",
"Bos primigenius",
"Aptenodytes forsteri"
];
$animals = array_merge($m, $n);
$names = array_map(function($a){return explode(' ', $a)[0];}, $animals);
$types = array_map(function($a){return explode(' ', $a)[1];}, $animals);
shuffle($names);
shuffle($types);
$random_result=array();
for($i=0; $i< sizeof($animals); $i++){
array_push($random_result, $names[$i]." ".$types[$i]);
}
print_r($random_result);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Стала задача отсортировать массив, приходящий из БДОдин элелемент из этого массива выглядит так:
Как в первом случае обновить в элементе offer_text секцию <![CDATA[ ]]> на содержимое переменной $text, а во втором добавить ее?
Вечер добрый, не получается сделать валидацию входящих данных в Yii2, в модели пишу правило, но вылетает исключение
В интернет-магазине на странице категории добавил сортировку товаров и кнопку "Загрузить ещё", но если нажать на товар, а потом на кнопку назад...