Смотря какое действие. Есть функция sleep(), но она полностью блокирует выполнение скрипта + можете упереться в ограничение хостинга set_time_limit. Если действие можно перенести на JavaScript лучше так и сделать, на нем намного проще сделать таймер. Если обязательно нужен PHP есть вариант вызывать скрипт через JavaScript (fetch и задержка setTimeout)