Тут уже понял не до конца, надеюсь при практике вся уляжется на свои места UPD спустя 9 мес активного изучения и начала программирования на php пересматриваю ролик из-за уведомления и удивляюсь, что было неясно, так как все разжевано!!! =))) Спасибо!!
foreach универсальный цикл, его удобство при типовых обходах массивов/объектов безусловно. Но, далеко не всегда его возможностей хватает для решения той или иной задачи, тогда на помощь приходят базовые циклы
Спасибо за видео!!! У меня все в одной строке вывело ( foreach ($meshok as $key => $item) { echo '$key - '; var_dump($key) . ''; echo '$item - '; var_dump($item) . ''; } хотя в предыдущем уроке с циклом было в новой строке....
Массив (тип array) может быть создан языковой конструкцией array(). В качестве параметров она принимает любое количество разделенных запятыми пар key => value (ключ => значение). array( key => value, key2 => value2, key3 => value3, ... ) Думаю item (пункт) тут не подходит.
Если правильно понял, этот оператор нужен для обращения через ключи к их значениям. Значения и ключи могут изменяться автоматически сервером в зависимости от того как устроен сайт)
Здравствуйте. На каждой итерации цикла item конечно меняется. Но, если мы обращаемся к исходному массиву по ключу, то есть $arr[$key], то меняем именно элемент внутри массива, а так как значение этого элемента просто копируется в переменную item, то там это значение остается на каждой итерации неизменным для конкретной итерации, конечно
Да к стати $meshok[$key] .= '!!!' Syntax error и страничка не заводится This page isn’t working HTTP ERROR 500 у меня php 7.4 Без конкатенации $meshok[$key] = '!!!' работает.
@@_RUDE_ Специально провел тест на php 7.4 но никаких проблем с конкатенацией строки к элементу массива, если в нем строка или число, нет C:\NewServer\OpenServer\domains\test.my\public_html\index.php:9: array (size=3) 'k1' => int 1 'k2' => string 'str' (length=3) 'k3' => string 'str3' (length=4) C:\NewServer\OpenServer\domains\test.my\public_html\index.php:15: array (size=3) 'k1' => string '1!!!' (length=4) 'k2' => string 'str!!!' (length=6) 'k3' => string 'str3!!!' (length=7)
Блин, всю голову себе сломал... у меня от такой записи: echo '$key - '; var_dump($key) . ''; echo '$item - '; var_dump($item) . ''; Почему то не переносится строка по тегу :( Получается примерно это: $key - string(14) "кошелек" $item - int(500) $key - string(14) "конверт" $item - string(29) "курсовая работа" $key - string(10) "чехол" $item - bool(false) $key - string(16) "барсетка" $item - array(3) { [0]=> string(4) "ipad" [1]=> string(4) "ipod" [2]=> array(2) { [0]=> string(7) "samsung" [1]=> string(6) "huawey" } } Т.е. все идет подряд, без переноса и прочего. Работает только такой вариант: foreach ($meshok as $key => $item){ echo '$key - '; var_dump($key . ''); echo '$item - '; var_dump($item . ''); } И то, получается вот такой результат: $key - string(18) "кошелек " $item - string(7) "500 " $key - string(18) "конверт " $item - string(33) "курсовая работа " $key - string(14) "чехол " $item - string(4) " " $key - string(20) "барсетка " $item - string(9) "Array " Я может быть что то не так делаю и не вижу этого ? Пишу код в Atom. Денис, подскажи пожалуйста, что не так ????
Все так у Вас. Дело в том что у меня активно расширение xDebug, а оно немного иначе отображает вывод, который производит var_dump. Если его отключить, то у меня будет такой же вывод как и у Вас
@@webQ а то что массив через var_dump не показывается в "развернутом" виде, а лишь указывается array, это тоже так должно быть ? Причем не показывается он в развернутом виде именно когда идет перенос строки. А xDebug это расширение phpStorm ? Или это для OpenServer?
@@ИванФранцузов-ц1ц xDebug это расширение языка php для отладки кода. А чтобы не мучиться с переносами пишите вывод var_dump внутри тега . То есть так: echo ''; var_dump($arr); echo '';
Для тех кто не понимает что тут пишется, зачем все это нужно, кто вообще будет на сайте искать подобие мешка или барсетки, скажу одно- найдите урок по проще, тут 99% теории на коде, ну или начинайте сразу с практики там и так все будет понятно по ходу, но только не с этих уроков.
Ну почему борсетка, а не просто сумка? 😂😂😂 Почему люди носят письмо от девушки в борсетке? Почему там курсовая работа? Ничего не имею против курса, хорошее объяснение Но примеры просто facepalm 🤦
Мозг сломал. foreach ($meshok as $kay => $item) { $meshok[$kay] .= ' !!!'; echo $meshok[$kay] . ''; echo '$item - ' . $item . ''; } var_dump($meshok); $meshok[$kay] - тут обращение именно к КЛЮЧУ из массива. ' !!!'; - тут дополнительные знаки для ЗНАЧЕНИЯ ключа из массива. .= этот оператор присоединяет наши восклицательные знаки к ЗНАЧЕНИЮ ключа. Вопрос: почему восклицательные знаки присваиваются именно ЗНАЧЕНИЮ ключа, а не самому КЛЮЧУ?! Ведь в этой строке $meshok[$kay] .= ' !!!'; дословно написано "иди в массив мешок $meshok[$kay], найди там ключ[$kay], и добавь к ключу восклицательные знаки .= ' !!!';" Всё, никаких указаний про "значения ключей" тут в упор не вижу. Так почему восклицательные знаки добавляются именно к значению ключа? Не понимаю.
Прикольный foreach в php! Не ожидал передачу по значению в цикл. Буду знать, спасибо за урок!
Можно и ссылку передать или обращаться по ключу к исходному итерируемому объекту или массиву. В этом плане язык достаточно гибок
Хочу выразить благодарство ,этому человеку ,прекрасно рассказывает ,жду часть с ним по html )
Автор курса в будущем обязательно должен обучать людей на продвинутом курсе
Просто супер
Спасибо за интересное видео, сталопонятнее как работает цикл foreach
Спасибо, три раза пересматривал, очень полезно!
Очень хорошее объяснение цикла foreach. Спасибо
Спасибо за уроки, очень полезно !
Автор жжёт! ) и по любому носит барсетку ^^
Огромное спасибо, все понятно!!!
И Вам огромное спасибо что смотрите канал и оставляете комментарии
Благодарю за то что делитесь знаниями
Огромное спасибо за видео и за весь курс.
Курс по основам далеко еще не закончен. Мы с многими интересными вещами еще познакомимся
@@webQ Буду очень признателен. А сколько вообще вы планируете видео и когда курс будет закончен?
@@ВладимирЗлатомрезов данный курс, думаю 35-40 +- видео будет по синтаксису и приемам. Потом пойдут особенности 7 и 8 версий рнр
@@webQ Вот это крайне интересно будет
О, понеслась походу))
Тут уже не так быстро доходит до меня🙃
Отличное объяснение, благодарю.
Спасибо большое. хорошего Вам обучения и познания языка. Будут вопросы, не стесняйтесь, спрашивайте
Тут уже понял не до конца, надеюсь при практике вся уляжется на свои места
UPD спустя 9 мес активного изучения и начала программирования на php пересматриваю ролик из-за уведомления и удивляюсь, что было неясно, так как все разжевано!!! =))) Спасибо!!
такая же проблема, тоже надеюсь на практическую отработку. спасибо автору.
Спасибо за уроки!
Уроки супер! Хотелось бы такой плейлист по JS
It's very interesting!
Спасибо за урок, как нам добавить например к ключу три восклицательных знака?
супер-пупер
Спасибо за урок))
Уже сложнее становится ))) Спасибо за урок !!!
Дальше интереснее будет. НУ и увидите знакомые вещи из js
@@webQ Спасибо, ждем с нетерпением !!!
Это потому-что сложно обьясняет.
Отличное видео спасибо👍👍
можете помочь у меня в браузере все тексты выводиться на всю ширину??
очень полезная инфа спасибо
Пожалуйста, и Вам спасибо за отзывы
Очень интересно
спасибо
Благодарочка
Уточните пож-ста будет ли продолжение курса javascript? Планируется ли материал по MySQL? Или в фулстэк он не так необходим
Все что Вы перечислили необходимо. По мере возможности обязательно буду делать курсы
И уточните пож-ста почему именно open server? а не xampp к примеру. или это вкусовщина
Да просто привычка
Foreach получается лучше использовать с массивами/обьектами?
А for свои простые операции.
foreach универсальный цикл, его удобство при типовых обходах массивов/объектов безусловно. Но, далеко не всегда его возможностей хватает для решения той или иной задачи, тогда на помощь приходят базовые циклы
Спасибо за видео!!!
У меня все в одной строке вывело (
foreach ($meshok as $key => $item) {
echo '$key - ';
var_dump($key) . '';
echo '$item - ';
var_dump($item) . '';
}
хотя в предыдущем уроке с циклом было в новой строке....
Массив (тип array) может быть создан языковой конструкцией array(). В качестве параметров она принимает любое количество разделенных запятыми пар key => value (ключ => значение).
array(
key => value,
key2 => value2,
key3 => value3,
...
)
Думаю item (пункт) тут не подходит.
Если правильно понял, этот оператор нужен для обращения через ключи к их значениям. Значения и ключи могут изменяться автоматически сервером в зависимости от того как устроен сайт)
На форуме есть вкладка "Последние сообщения форума" и 5 последних сообщений на форуме. Они же делаются с помощью foreach?
Добрый день! подскажите, пожалуйста, что за расширение в браузере использует автор, чтобы выводить данные разными цветами ?
Нет, это расширение для дебаггинга кода
@@webQ а как оно называется?
привет! как отключить указание пути к файлу в вардамп? очень мешает
($item -
C:\OpenServer\domains\first\php_basics\9_cycle_foreach.php:27:int 28)
в php.ini прописать xdebug.overload_var_dump=1
@@webQ спасибо! отличные уроки. с первой зп разработчика обязательно поддержу канал)
спасиба
почему тег br не работает после var_dump ??
Попробуйте эту конструкцию:
echo '';
var_dump($search);
echo '';
Спасибо за урок !
Немного не понял... Как остался СТАРЫЙ айтом, если он уже, как вы говорите "изменился"... ? Можете мне немного разжевать..?
Здравствуйте. На каждой итерации цикла item конечно меняется. Но, если мы обращаемся к исходному массиву по ключу, то есть $arr[$key], то меняем именно элемент внутри массива, а так как значение этого элемента просто копируется в переменную item, то там это значение остается на каждой итерации неизменным для конкретной итерации, конечно
7:59 как так комментировать сразу много строк ?
ctrl + ?
а как в вардампе включить перенос строки?
echo '';
var_dump($что то там);
echo '';
@@webQ Спасибо, а то я br'ом переносил.
@@ВладимирЗлатомрезов не за что)))
обычно говорят в фремворках реакт - папа не мутируй массив )
Да к стати $meshok[$key] .= '!!!' Syntax error и страничка не заводится This page isn’t working HTTP ERROR 500 у меня php 7.4
Без конкатенации $meshok[$key] = '!!!' работает.
А в $meshok[$key] изначально что лежит? До конкатенации?
@@webQ
13:00
То же что и у вас. Повторял за мастером)
@@_RUDE_ Специально провел тест на php 7.4 но никаких проблем с конкатенацией строки к элементу массива, если в нем строка или число, нет
C:\NewServer\OpenServer\domains\test.my\public_html\index.php:9:
array (size=3)
'k1' => int 1
'k2' => string 'str' (length=3)
'k3' => string 'str3' (length=4)
C:\NewServer\OpenServer\domains\test.my\public_html\index.php:15:
array (size=3)
'k1' => string '1!!!' (length=4)
'k2' => string 'str!!!' (length=6)
'k3' => string 'str3!!!' (length=7)
@@webQ не убрал вложенный массив, вот и не работало ни чего.
@@_RUDE_ конечно, строку к массиву конкатенировать нельзя)))
это уже трудно)
Блин, всю голову себе сломал... у меня от такой записи:
echo '$key - ';
var_dump($key) . '';
echo '$item - ';
var_dump($item) . '';
Почему то не переносится строка по тегу :( Получается примерно это:
$key - string(14) "кошелек" $item - int(500) $key - string(14) "конверт" $item - string(29) "курсовая работа" $key - string(10) "чехол" $item - bool(false) $key - string(16) "барсетка" $item - array(3) { [0]=> string(4) "ipad" [1]=> string(4) "ipod" [2]=> array(2) { [0]=> string(7) "samsung" [1]=> string(6) "huawey" } }
Т.е. все идет подряд, без переноса и прочего.
Работает только такой вариант:
foreach ($meshok as $key => $item){
echo '$key - ';
var_dump($key . '');
echo '$item - ';
var_dump($item . '');
}
И то, получается вот такой результат:
$key - string(18) "кошелек
" $item - string(7) "500
" $key - string(18) "конверт
" $item - string(33) "курсовая работа
" $key - string(14) "чехол
" $item - string(4) "
" $key - string(20) "барсетка
" $item - string(9) "Array
"
Я может быть что то не так делаю и не вижу этого ?
Пишу код в Atom. Денис, подскажи пожалуйста, что не так ????
Все так у Вас. Дело в том что у меня активно расширение xDebug, а оно немного иначе отображает вывод, который производит var_dump. Если его отключить, то у меня будет такой же вывод как и у Вас
@@webQ а то что массив через var_dump не показывается в "развернутом" виде, а лишь указывается array, это тоже так должно быть ? Причем не показывается он в развернутом виде именно когда идет перенос строки. А xDebug это расширение phpStorm ? Или это для OpenServer?
@@ИванФранцузов-ц1ц xDebug это расширение языка php для отладки кода. А чтобы не мучиться с переносами пишите вывод var_dump внутри тега . То есть так:
echo '';
var_dump($arr);
echo '';
Для тех кто не понимает что тут пишется, зачем все это нужно, кто вообще будет на сайте искать подобие мешка или барсетки, скажу одно- найдите урок по проще, тут 99% теории на коде, ну или начинайте сразу с практики там и так все будет понятно по ходу, но только не с этих уроков.
+
Так-то вроде хорошо, только конкатенация с var_dump это ересь какая-то.
Ну почему борсетка, а не просто сумка? 😂😂😂
Почему люди носят письмо от девушки в борсетке?
Почему там курсовая работа?
Ничего не имею против курса, хорошее объяснение
Но примеры просто facepalm 🤦
что в голову пришло то и называл. Многим это было понятно, жаль что Вам, видимо, нет
@@webQ я не докапываюсь и пишу не со зла, мне очень нравится курс. Просто не удержался это написать из-за забавности
@@rendezvousss так и пишите на здоровье, я только благодарен буду)))
@@webQ да, я таким образом продвигаю ваши ролики!
@@rendezvousss спасибо Вам))))))))
Увидел кирилицу и закрыл. Спасибо.
Мозг сломал.
foreach ($meshok as $kay => $item) {
$meshok[$kay] .= ' !!!';
echo $meshok[$kay] . '';
echo '$item - ' . $item . '';
}
var_dump($meshok);
$meshok[$kay] - тут обращение именно к КЛЮЧУ из массива.
' !!!'; - тут дополнительные знаки для ЗНАЧЕНИЯ ключа из массива.
.= этот оператор присоединяет наши восклицательные знаки к ЗНАЧЕНИЮ ключа.
Вопрос: почему восклицательные знаки присваиваются именно ЗНАЧЕНИЮ ключа, а не самому КЛЮЧУ?! Ведь в этой строке $meshok[$kay] .= ' !!!'; дословно написано "иди в массив мешок $meshok[$kay], найди там ключ[$kay], и добавь к ключу восклицательные знаки .= ' !!!';"
Всё, никаких указаний про "значения ключей" тут в упор не вижу. Так почему восклицательные знаки добавляются именно к значению ключа? Не понимаю.
+