1) Zend Studio >=3
Достоинства:
интерпретатор кода показывает все глупые ошибки (незакрытые скобки, забытые точки с запятой), autocomplete не допускает опечатки в именах переменных и функций, работает с проектами (т.е. знает про функции в других файлах). Последняя версия 3.5 еще нормально показывает параметры функции при их изменении. Кроме того есть code ident для делания отступов (полезно иногда).
analyze code, чтобы выявить необъявленные переменные. и профайлер с дебаггером (хотя последним я не пользуюсь, а первым сложно пользоваться при сложных скриптах, выполняющих кучу функций).
Недостатки:
Написан на Яве. Не умеет использовать системно-зависимые swing библиотеки под MSJVM, что делает его тормозным (хотя 3.5 все-таки быстрее, чем 3.0). В общем, тормозной и чтобы пользоваться в приличных учреждениях надо иметь много денег.
2) EditPlus
Достоинства:
Быстрый, умеет подсвечивать код, работает быстро даже на
486. Годится не только для php. Пользую его, когда не нужен Zend Studio.
Недостатки:
Сложно работать с большими проектами, подстветка не всегда правильно работает при ошибках.
3) vim/gvim
Достоинства:
Есть почти на каждой юниксовой машине
Недостатки:
Просто так сесть и писать нельзя, надо пройти vimtutor. Для нормальной работы требует тонкой нстройки.
4)notepad
Достоинства:
Есть почти в каждой винде
Недостатки:
все остальное, даже нет самого элементарного номера строки и в windows 9.x ограничение на 64 кб.