![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Tikson |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2007 Репутация: нет Всего: нет |
источник http://php.su/lessons/?lesson_3 , комментарии не мои
сам пример кода
Непонятно: 1)почему isset ? И как это работает не пойму.Я понимаю это так- isset проверяет установлена ли переременная или нет...как работает не понятно 2) далее проверяется больше ли $arr $max тоесть больше ли $arr 6 $max 4, больше. Но в коменнатриях написано что $max должно быть больше $arr далее понятно что $max будет присвоено 6 3)потом непонятно что значит $arr[1] = 95. первый круг еще не пройден значит после того как $max присвоили наибольшее число в массиве $ar1 число 6 будет заменено на 95, тоесть дальше будет сравнение 12 с 95, тогда почему в примере говорится что будет выведено чисто 23??? а не 95? 4)результат этого вывода - echo arr_max($ar2); неясен, написано что результат в одинарных ковычках не выводится, значит и тут ничего не выведется(даже без ошибок) помогите Это сообщение отредактировал(а) Tikson - 30.6.2012, 11:15 |
|||
|
||||
| The_Aleksey |
|
|||
![]() <?php ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.10.2007 Где: Москва Репутация: 5 Всего: 6 |
Мне кажется функцию, которая ищет максимум массива можно написать проще, например так:
|
|||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Если переменная нигде не объявлена в коде - isset вернет false, иначе true. Полезна в двух случаях: - если переменная задается при каком-либо условии (хотя правильнее было бы объявлять ее до условия, а в условии просто назначать значение); - если проверяются ключи в массиве (хотя правильнее было бы использовать функцию array_key_exists()). Не понял что тут не ясно. Думаю, что код просто из 4ых версий php, когда все значения по умолчанию передавались по значению. Тогда получалось, что мы меняем массив $arr в области видимости (scope) функции, а в глобальной области видимости массив остается без изменений (решалось это путем простановки амперсанда до аргумента функции). В php же версий 5 (точно не помню с какой версии, 5.2 или 5.3?) все переменные по умолчанию передаются по ссылке, и получается что все-таки максимум будет не 6, а 95. Могу ошибаться, но бегло взглянув на код мне так думается.
строка 'dabcjfutZfgh' - это фактически массив из строковых букв, по одной штуке. Так что 'dabcjfutZfgh'[3] == 'c'. А при сравнении букв между собой происходит их что ли сортировка. Таким образом "максимум" строки - буква Z в верхнем регистре. |
||||
|
|||||
| Tikson |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2007 Репутация: нет Всего: нет |
Спасибо, буду разбираться.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |