Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 2

Принцип работы цикла на конкретном примере

08.06.2015, 00:27. Показов 1173. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, форумчане.
Учу PHP. В процессе обучения наткнулся на пример использования данных из массива в цикле:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
 
error_reporting(-1);
 
/* Слоги, из которых составляется имя */
$letters = array(
    1   =>  'ко',
    2   =>  'и',
    3   =>  'дзу',
    4   =>  'ми',
    5   =>  'са',
    6   =>  'ку',
    7   =>  'ра',
    8   =>  'да',
    9   =>  'чи',
    10  =>  'а',
    11  =>  'ки',
    12  =>  'ми',
    13  =>  'на',
    14  =>  'го',
    15  =>  'ха',
    16  =>  'ру'
);
 
/* В эту переменную запишем получившееся имя */
$name = '';
 
/* Гененрируем 4 слога */
for ($i = 1; $i <= 4; $i++) {   
    /* Выкидываем случайное число (count - число элементов в массиве) */
    $random = mt_rand(1, count($letters)); 
    $randomText = $letters[$random];
    
    echo "Выпало число {$random}, слог {$randomText}\n";
    /* Точка склеивает 2 строки в одну */
    $name = $name . $randomText;
}
 
echo "------\n";
echo "Советую имя: {$name} - не прогадаешь!\n";
Есть несколько непонятных мне моментов. А программирование такая штука, что если не поймешь принцип, то и нормально пользоваться полученными знаниями не получится. Но не мне вам это рассказывать.

Так вот:
1) В цикле используется переменна $i. Это слог. Но каким образом программа понимает, что это слог? Каким образом она ассоциирует $i (слог как часть слова) и $randomText (рандомно выпавший слог)? И вообще, нужен ли был тут цикл?
2) Мне не понятна строка $name = $name . $randomText;
Как видно из комментария, точка склеивает 2 строки в одну. Но зачем нам использовать $name справа от знака равно? Я не понимаю логику сложения слова из слогов ($randomText).

Помогите разобраться пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2015, 00:27
Ответы с готовыми решениями:

Принцип работы диалога на примере vk.com
В качестве практики немного делаю кастомный мессенджер используя API VK Когда открываю диалог, то на странице выводятся все сообщения из...

Навыки работы в трёх IDE: NetBeans, Eclipse, IntelliJ IDEA — на конкретном примере
Всем привет! Помогите, пожалуйста — с навыками работы в трёх IDE: NetBeans, Eclipse, IntelliJ IDEA. Буду последовательно излагать...

Объясните принцип работы функции на примере
Объясните принцип работы функции на примере

2
20 / 20 / 12
Регистрация: 27.04.2012
Сообщений: 145
08.06.2015, 03:02
Полуночник, все просто.

Переменная $i в твоем случае - это не слог. Она вообще не участвует в образовании имени. Она, грубо говоря, является счетчиком цикла. То есть, с ее помощью цикл знает, сколько раз ему еще осталось отработать. И все.

Что касается выбранного слога, этой строкой
PHP
1
$random = mt_rand(1, count($letters));
регенерируется случайное число, которое вот тут:
PHP
1
 $randomText = $letters[$random];
и выбирает из массива слог.

В общем, мы просто 4 раза проходи и цикл, и каждый раз в случайном порядке дергаем из массива слога.

Что касается строки
PHP
1
$name = $name . $randomText
У нас есть переменная $name . каждый раз ей присваевается значение, которое равно тому, что до этого уже было в $name, а также новому слогу.

Т.е. $name = $name(то что было) .(плюс) $randomText(новый слог)

Иначе, каждый раз ее значение становилось бы равно только одному слогу, который присвоили последним.

Надеюсь, доступно обьяснил...
1
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 2
08.06.2015, 09:54  [ТС]
Все предельно понятно и доступно. Большое Вам спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.06.2015, 09:54
Помогаю со студенческими работами здесь

объясните принцип работы цикла : ?
объясните принцип работы цикла : ?

Вычисление среднего арифметического массива: принцип работы цикла for
Всем привет! Сразу скажу - новичок, самоучка. Был когда-то опыт программирования в Паскале, но уже давно. Сейчас читаю труд Шилдта по...

На конкретном примере
Добрый вечер! На конкретном примере показать как с помощью документа переносить данные из одного справочника в другой. Пусть это будет...

Маршрутизация на конкретном примере
ОС Win7 config Настройка протокола IP для Windows Имя компьютера . . . . . . . . . : NamePC Основной DNS-суффикс . ....

Сравнение производительности С++ и С# на конкретном примере
Приветствую знатоков С++ ! Можно ли на С++ вычислить быстрее, чем на C#, переменные для решения уравнения x ^ 3 + y ^ 3 = z ^ 3 - 1 К...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru