ฟังก์ชันและคลาสใน PHP มี global scope หมายถึงสามารถเรียกได้นอกฟังก์ชันแม้จะถูกกำหนดในขอบเขต และในทางกลับกัน
แต่ PHP ไม่รองรับ function overloading และไม่สามารถ redefine ฟังก์ชันที่ประกาศไว้ก่อนหน้าได้
ฟังก์ชันสามารถกำหนดเป็น anonymous function และ unset หลังจากทำงานเสร็จ
โค้ดตัวอย่างด้านล่าง:
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc()) $my_fn = create_function('&$v, $k', '$v = stripslashes($v);'); array_walk_recursive(array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST), $my_fn); unset($my_fn); }Anonymous function ไม่สามารถเรียกตัวเองได้ วิธีแก้คือใช้ array_walk_recursive