The usual arguments for OOP vs. procedural apply. That is, procedural processing tends to offer few opportunities for code-recycling; the programs are frequently monolithic, top-down instruction-sets that are harder to maintain and evolve over time. Objects tend to provide small, manageable blocks of code that address small sets of specific concerns that can be reused. I prefer OOP in general, since I always have an eye to code reuse. However, size and complexity come into play, when making the decision as to which to apply for a particular project. When building an HTML page, the PHP most often looks very procedural in its most general structure, since the composition of a web-page has a very top-down order, i.e., head, head-child-elements, body, body-child-elements, etc. A simple, one-off page may be unworthy the heavier-weight engineering principles of OOP - where the line is drawn is a fuzzy issue. I note that the PHP-based CMS, Concrete5, that my shop employs widely on behalf of clients is a purely OOP implementation...very appropriately so, given the complexity of the app. There's a good "contrast and compare" article at:
http://devzone.zend.com/article/1236
That said, there is another approach you didn't consider explicitly in the statement of your question, namely Functional Programming (FP). FP provides the same potential for code reuse as OOP. It allows you to develop fairly small procedural-style blocks that rely on functions to perform the actual processing. If you really drink the FP kool-aid, you can make your top-level, "procedural" blocks be functions as well. So, even when I elect a more procedural model, I implement more of the processing in functions in order to offer recyclability...most often, I simply reuse existing functions, plugging them into top-level, director/controller procedural code. My shop mostly develops new apps using the J(2)EE Design Patterns (in PHP) for the web aspects and the GoF Design Patterns for the base operations. All of these are implemented in a mix of procedural and functional approaches. We write some pretty darned big apps this way, and still have a huge amount savings from recycled code; in fact, our entire project template is static and completely reusable. Individual "procedure" can vary at the level of the component-include or the functions employed. Joel has an amusing OOP vs. FP article at:
http://www.joelonsoftware.com/items/2006/08/01.html
I see potential and competing values in each model, depending on the nature of the individual project and the need and desire to avoid reinventing the wheel. As with most modern languages, the programming paradigm is up to the developer; each language supports all programming models, even when there may be a generally-preferred approach. Don't let anyone else's preferences lock you into a single choice of practices. Also, don't neglect learning new models just 'cuz you already know one...learn and grow, so that you have more options and CAN pick the right tool for the job.