Functions in PHP allow programmers to organize code into reusable blocks. There are built-in and user-defined functions. User-defined functions use the function keyword and can accept arguments, return values, and be called elsewhere in the code. Functions can pass arguments by value, where changes inside the function don't affect the original variable, or by reference, where changes are reflected outside the function. Functions can also have default argument values and static variables that retain their value between calls.