Method Overloading in PHP

While I was testing some features of PHP in general, I stopped and stared at one OOP principle that seems not to be supported by PHP: method overloading. Because PHP is a weak-typed programming language, method overloading will never be supported, but there is always a workaround.
Example for “method overloading” (another monolithic PHP approach of doing things) in PHP:

function someFunction($param1, $param2 = null)
{
   if(is_array($param1) && isset($param2))
   {
       echo ‘bla’;
   }
   else if(is_int($param1) && isset($param2) && is_string($param2))
   {
       echo ‘bla bla’;
   }
   //else if, else if, else...and so on and so forth
}

The more overloads, the more spaghetti code with lots of if-else if-else statements in a single big boned (not fat! a.k.a Cartman form South Park ;) function.