Задать вопрос
@SergioMarquinha

Почему не работает вывод через запятую?

Здравствуйте, пытаюсь вывести список доменов через запятую с помощью implode(), но выводится ошибка:
Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in . . . Stack trace: #0

Код:
foreach ($arServer['domains'] as $arSite ): 	
	print_r(implode (', ', $arSite['fqdn']));  //Домены 
endforeach;


Массив:

[1] => Array
        (
            [id] => 6962448
            [path] => testpoddomen/public_html
            [domains] => Array
                (
                    [0] => Array
                        (
                            [id] => 10346682
                            [fqdn] => poddomen.ru
                            [php_version] => 5.6
                            [http_version] => 1
                            [ssl] => 
                            [ssl_status] => none
                            [nginx_template] => default
                            [redis_session] => 
                        )

                    [1] => Array
                        (
                            [id] => 10346683
                            [fqdn] => su.poddomen.ru
                            [php_version] => 5.6
                            [http_version] => 1
                            [ssl] => 
                            [ssl_status] => none
                            [nginx_template] => default
                            [redis_session] => 
                        )

                )

        )


В чем может быть проблема?
  • Вопрос задан
  • 1235 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
В чем ошибка?
Argument #2 ($array) must be of type ?array, string given in

google-translate -> переводим
Аргумент #2 ($array) должен иметь тип ?array, строка указана в


пишем код
echo implode(',', array_column($arr['domains'], 'fqdn'));


https://phpize.online/sql/mysql57/undefined/php/ph...
Ответ написан
Stalker_RED
@Stalker_RED
Проблема, как это ни удивительно, именно в том, что написано в ошибке.
must be of type ?array, string given

Вы в implode передаете не массив а строку. Потому что в поле fqdn строка. Вот поэтому и ошибка. Там так и написано. Так бывает, что в тексте ошибки напиано что именно не так. Надо просто прочесть же.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽