1、mixed
call_user_func ( callback function [, mixed parameter [, mixed ...]] )
PHP的call_user_func函數是個好函數,讓我這個寫C++爲主的程序員,認識到它的重要性。
PHP的弱類型的特性,使字符串可以作爲變量,現在call_user_func函數使字符串可以作爲函數,大大提高了程序設計的靈活性,是C++所不能的。
2、array get_object_vars ( object obj )
get_object_vars 函數可以返回一個對象的屬性對,屬性變量 =〉屬性值,處理類的時候很靈活。
3、array array_map ( callback callback, array arr1 [, array ...] )
將callback自動作用於arr1中的所有元素,是不是很酷。
wordpress中對這幾個參數的靈活運行,代碼欣賞:
function stripslashes_deep($value) { if ( is_array($value) ) { $value = array_map('stripslashes_deep', $value); } elseif ( is_object($value) ) { $vars = get_object_vars( $value ); foreach ($vars as $key=>$data) { $value->{$key} = stripslashes_deep( $data ); } } elseif ( is_string( $value ) ) { $value = stripslashes($value); }
return $value; }
$value = array_map('stripslashes_deep', $value);
$value->{$key} = stripslashes_deep( $data );
這兩句都是遞歸,這個函數重在思維縝密,考慮周到。