Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(E_ALL);
- //исходный массив
- $animalsWorld = [
- 'Africa'=>['mammuthus columbi', 'african buffalo', 'hippo', 'bongo', 'african savannah hare', 'african elephant', 'bat-eared Fox', 'african wild dog', 'stenocara gracilipes', 'Tsetse', 'african vulture'],
- 'Asia'=>['bear sloth', 'asian leopard cat', 'saiga', 'Indian rhinoceros', 'clouded leopard', 'asiatic lion', 'snow leopard', 'red wolf', 'nilgau', 'bearded pig'],
- 'Europe'=>['polar bear', 'alpine mountain goat', 'snowy owl', 'fox', 'red deer', 'brown bear', 'wild rabbit', 'glennamaddy seal', 'forest shrew']
- ];
- $space = ' ';
- //перебор исходного массива и поиск слов с двойным названием
- foreach($animalsWorld as $continent => $animals) {
- //echo "<h1>$continent</h1>";
- foreach($animals as $animal){
- if(substr_count($animal, $space) == 1){
- $animalsDoubleWord[] = $animal;
- }
- $spacePositionAnimal = strpos($animal, $space);
- //создание массива из первых и массива из вторых слов
- foreach($animalsDoubleWord as $animalDoubleWord){
- $spacePosition = strpos($animalDoubleWord, $space);
- $firstWords[] = substr($animalDoubleWord, 0, $spacePosition); //массив из первых слов
- $lastWords[] = substr($animalDoubleWord, ($spacePosition+1), strlen($animalDoubleWord)); //массив из вторых слов
- }
- //перемешивание первых и вторых слов и создание массива фантастических животных
- for($i = 0; $i < count($animalsDoubleWord); $i++){
- $randomIndexFirstWord = rand(0, (count($firstWords)-1));
- $randomFirstWord = $firstWords[$randomIndexFirstWord]; // первое случайное слово
- $randomIndexlastWord = rand(0, (count($lastWords)-1));
- $randomlastWord = $lastWords[$randomIndexlastWord]; // второе случайное слово
- $newRandomWord = $randomFirstWord . ' ' . $randomlastWord; //название нового животного
- $fantasticAnimals[$i] = $newRandomWord; //наполнение массива новыми фантастическими животными
- }
- }
- }
- foreach($animalsWorld as $continent => $animals) {
- foreach($animals as $animal){
- if(substr_count($animal, $space) == 1){
- $spacePositionAnimal = strpos($animal, $space);
- $compareSourceWord = substr($animal, 0, $spacePositionAnimal);//первое слово исходного массива, с которым буду сравнивать слова из массива с фантаст. животными
- //echo '1 ' . $compareSourceWord . '<br>';
- }
- }
- foreach($fantasticAnimals as $fantasticanimal){
- $spacePositionFantasticAnimal = strpos($fantasticanimal, $space);
- $firstFantasticWord = substr($fantasticanimal, 0, $spacePositionFantasticAnimal);
- //echo $firstFantasticWord . '<br>';
- if($compareSourceWord == $firstFantasticWord){
- $xxx[$continent][] = $fantasticanimal;
- }
- }
- }
- echo '<pre>';
- print_r($xxx);
- echo '</pre>';
- ?>
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>PHP 1-3</title>
- </head>
- <body>
- <h2>Исходный массив</h2>
- <?php foreach($animalsWorld as $continent=> $animals){//вывод исходного массива ?>
- <h3><?= $continent ?></h3>
- <?php foreach($animals as $animal){ ?>
- <p><?= $animal ?></p>
- <?php } ?>
- <?php } ?>
- <hr>
- <h2>Массив из двух слов</h2>
- <?php foreach($animalsDoubleWord as $animalDoubleWord){ ?>
- <p><?= $animalDoubleWord ?></p>
- <?php } ?>
- <hr>
- <h2>Массив фантастических животных</h2>
- <?php foreach($fantasticAnimals as $fantasticanimal){ ?>
- <p><?= $fantasticanimal ?></p>
- <?php } ?>
- <hr>
- <h2>Животные через запятую</h2>
- <?php foreach($xxx as $continent => $yyy){//вывод исходного массива ?>
- <h3><?= $continent ?></h3>
- <p><?= implode(', ', $yyy); ?></p>
- <?php } ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement