Ваш код выглядит правильным и должен работать без проблем, при условии что на сервере правильно настроено время. Ваш код использует функцию PHP getdate(), чтобы получить текущее время, а затем проверяет, находится ли текущий час между 9 и 18 включительно. В зависимости от результата этой проверки, будет отображаться либо телефонный номер, либо адрес электронной почты.
Однако, есть некоторые улучшения, которые можно внести в ваш код для большей надежности и прозрачности.
Учтите часовые пояса. Если ваш сервер находится в другом часовом поясе, чем ваш магазин, то лучше учесть это в расчетах. PHP имеет встроенные функции для работы с датами и временем, которые могут учесть часовой пояс.
Отдельно храните и управляйте операционными часами. Жестко закодированные часы работы в коде могут быть проблематичными для обновления. Если вы когда-либо захотите изменить эти часы, вам придется прямо редактировать код. Лучше хранить эту информацию в конфигурационном файле или базе данных, где она может быть легко обновлена.
Кодирование. Убедитесь, что все ваши строки корректно кодированы. В этом случае, возможно, стоит обернуть строку 'время работы с 9-00 до 18-00' функцией htmlspecialchars() для предотвращения XSS-атак.
Но в общем, ваш код должен работать так, как вы ожидаете, и выполнять заявленную задачу.