Array to string conversion
В версии 17 и некоторых более ранних при включенном в config.ini выводе ошибок появляется множество предупреждений и преобразовании массива в строку в def_module.php:
Array to string conversion on def_module in line 1044
Этого мало кто замечает ,потому что полный вывод ошибок обычно выключен (похоже, у самих юмисофтов тоже, хотя мне это не кажется правильным). Проблема в том, что иногда при отладке приходится включать вывод всех ошибок и это бессмысленное предупреждение затрудняет поиск своих ошибок.
Ошибка возникает на этом участке кода:
$res .= is_array($t_res) ? implode('', $t_res) : $t_res;
Дело в том, что $t_res может быть многомерным массивом, на что и жалуется implode. Вывод - преобразовать $t_res в одномерный массив:
if (is_array($t_res)) { $temp = []; array_walk_recursive($t_res, function($v) use (&$temp) { $temp[] = $v; }); $t_res = implode('', $temp); } $res .= $t_res;