array_walk передает 2 аргумента вашему методу (htmlspecialchars), первый - значение текущего элемента массива, второй - ключ текущего элемента.
так, если
$trader_details = array('key' => 'value');
затем
$trader_details = array_walk($trader_details, 'htmlspecialchars');
называет
htmlspecialchars('value', 'key')
И это неверно, htmlspecialchars требует, чтобы второй параметр был целым числом - int $ quote_style