@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] => 
                        )

                )

        )


В чем может быть проблема?
  • Вопрос задан
  • 1050 просмотров
Решения вопроса 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 строка. Вот поэтому и ошибка. Там так и написано. Так бывает, что в тексте ошибки напиано что именно не так. Надо просто прочесть же.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы