В документации к функции str_replace() сказано, что она возвращает либо массив либо строку http://php.net/manual/ru/function.str-replace.php. Суть вопроса в том, что не понятно, при каких условиях возвращается строка и при каких массив? Из документации не понятно, на других сайтах тоже не смог найти информацию.
Вы неправильно понимаете мануал. Вдумайтесь
Если subject является массивом, то поиск с заменой будет осуществляться над каждым элементом subject, а результатом функции также будет являться массив.
Если сами передаете массив, то и вернется массив, иначе строка
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости