php函数研究
<?php //$number = range(0,50,10); //print_r ($number); //生成一个自增的数组 header("Content-type:text/html;charset=utf-8"); /* * * 类/对象 * __autoload — 尝试加载未定义的类 call_user_method_array — 调用一个用户方法,同时传递参数数组(已废弃) call_user_method — 对特定对象调用用户方法(已废弃) class_alias — 为一个类创建别名 class_exists — 检查类是否已定义 get_called_class — 后期静态绑定("Late Static Binding")类的名称 get_class_methods — 返回由类的方法名组成的数组 get_class_vars — 返回由类的默认属性组成的数组 get_class — 返回对象的类名 get_declared_classes — 返回由已定义类的名字所组成的数组 get_declared_interfaces — 返回一个数组包含所有已声明的接口 get_declared_traits — 返回所有已定义的 traits 的数组 get_object_vars — 返回由对象属性组成的关联数组 get_parent_class — 返回对象或类的父类名 interface_exists — 检查接口是否已被定义 is_a — 如果对象属于该类或该类是此对象的父类则返回 TRUE is_subclass_of — 如果此对象是该类的子类,则返回 TRUE method_exists — 检查类的方法是否存在 property_exists — 检查对象或类是否具有该属性 trait_exists — 检查指定的 trait 是否存在 * */ //function __autoload($classname) { // $filename = "./". $classname .".php"; // include_once($filename); //} // //// we‘ve called a class *** //$obj = new myClass(); //class foo { } // //class_alias(‘foo‘, ‘bar‘); // //$a = new foo; //$b = new bar; // //// the objects are the same //var_dump($a == $b, $a === $b); //var_dump($a instanceof $b); // //// the classes are the same //var_dump($a instanceof foo); //var_dump($a instanceof bar); // //var_dump($b instanceof foo); //var_dump($b instanceof bar); //instanceof判断变量是不是继承了后面的类 //if (class_exists(‘MyClass‘)) { // $myclass = new MyClass(); //} //class foo { // static public function test() { // var_dump(get_called_class()); // } //} // //class bar extends foo { //} // //foo::test(); //bar::test(); //class myclass { // // constructor // function myclass33() // { // return(true); // } // // // method 1 // function myfunc1() // { // return(true); // } // // // method 2 // function myfunc2() // { // return(true); // } //} // //$class_methods = get_class_methods(‘myclass‘); //// or //$class_methods = get_class_methods(new myclass()); // //foreach ($class_methods as $method_name) { // echo "$method_name\n"; //} //class myclass { // // var $var1; // 此变量没有默认值…… // var $var2 = "xyz"; // var $var3 = 100; // private $var4; // PHP 5 // // // constructor // function myclass1() { // // change some properties // $this->var1 = "foo"; // $this->var2 = "bar"; // return true; // } // //} // //$my_class = new myclass(); //echo get_class($my_class); //$class_vars = get_class_vars(get_class($my_class)); // //foreach ($class_vars as $name => $value) { // echo "$name : $value\n"; //} //返回所有的类名 //print_r(get_declared_classes()); //print_r(get_declared_interfaces()); //class dad { // function dad() // { // // implements some logic // } //} // //class child extends dad { // function child() // { // echo "I‘m " , get_parent_class($this) , "‘s son\n"; // } //} // //class child2 extends dad { // function child2() // { // echo "I‘m " , get_parent_class(‘child2‘) , "‘s son too\n"; // } //} // //$foo = new child(); //$bar = new child2(); //class WidgetFactory //{ // var $oink = ‘moo‘; //} // //// create a new object //$WF = new WidgetFactory(); // //if (is_a($WF, ‘WidgetFactory‘)) { // echo "yes, \$WF is still a WidgetFactory\n"; //} //$directory = new Directory(‘.‘); //var_dump(method_exists($directory,‘read‘)); /* * call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 call_user_func — 把第一个参数作为回调函数调用 create_function — Create an anonymous (lambda-style) function * create_function — 创建一匿名方法lambda_XXX风格 * forward_static_call_array — Call a static method and pass the arguments as array * forward_static_call_array — 调用一个静态方法和传递实参数组 * forward_static_call — Call a static method * forward_static_call — 调用一个静态方法 * func_get_arg — 返回参数列表的某一项 func_get_args — 返回一个包含函数参数列表的数组 func_num_args — Returns the number of arguments passed to the function * func_num_args — 返回参数传递给函数的数量 * function_exists — 如果给定的函数已经被定义就返回 TRUE get_defined_functions — Returns an array of all defined functions * get_defined_functions —返回一个数组定义的所有函数 * register_shutdown_function — Register a function for execution on shutdown * register_shutdown_function —注册一个函数执行关闭 * register_tick_function — Register a function for execution on each tick * register_tick_function — 登记每个刻度的执行功能 * unregister_tick_function — De-register a function for execution on each tick * unregister_tick_function — 去注册一个函数的每个刻度的执行 * * * */ //function foobar($arg, $arg2) { // echo __FUNCTION__, " got $arg and $arg2\n"; //} //class foo { // function bar($arg, $arg2) { // echo __METHOD__, " got $arg and $arg2\n"; // } //} // // //// Call the foobar() function with 2 arguments //call_user_func_array("foobar", array("one", "two")); //echo ‘<br>‘; //// Call the $foo->bar() method with 2 arguments //$foo = new foo; //call_user_func_array(array($foo, "bar"), array("three", "four")); //error_reporting(E_ALL); //function increment($var) //{ // $var++; //} // //$a = 0; //call_user_func(‘increment‘, $a); //echo $a."\n"; // //call_user_func_array(‘increment‘, array(&$a)); // You can use this instead before PHP 5.3 //echo $a."\n"; //$newfunc = create_function(‘$a,$b‘, ‘return "ln($a) + ln($b) = " . log($a * $b);‘); //echo "New anonymous function: $newfunc"; //echo ‘<br>‘; //echo $newfunc(2, 5); //class A //{ // const NAME = ‘A‘; // public static function test() { // $args = func_get_args(); // echo static::NAME, " ".join(‘,‘, $args)." \n"; // } //} // //class B extends A //{ // const NAME = ‘B‘; // // public static function test() { // echo self::NAME, "\n"; // forward_static_call_array(array(‘A‘, ‘test‘), array(‘more‘, ‘args‘)); // forward_static_call_array( ‘test‘, array(‘other‘, ‘args‘)); // } //} // //B::test(‘foo‘); // //function test() { // $args = func_get_args(); // echo "C ".join(‘,‘, $args)." \n"; // } // // echo function_exists(‘test‘); //function myrow($id, $data) //{ // return "<tr><th>$id</th><td>$data</td></tr>\n"; //} // //$arr = get_defined_functions(); // //print_r($arr); //function shutdown() //{ // // This is our shutdown function, in // // here we can do any last operations // // before the script is complete. // // echo ‘Script executed with success‘, PHP_EOL; //} // //register_shutdown_function(‘shutdown‘); /* * filter_has_var — Checks if variable of specified type exists * filter_has_var — 检查输入变量的指定类型的存在 * filter_id — Returns the filter ID belonging to a named filter * filter_id — 返回过滤器ID属于一个名叫过滤器 * filter_input_array — Gets external variables and optionally filters them * filter_input_array — 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤 * filter_input — Gets a specific external variable by name and optionally filters it * filter_input — 获取一个输入变量,并对它进行过滤 * filter_list — Returns a list of all supported filters * filter_list — 返回支持的过滤器的所有列表 * filter_var_array — Gets multiple variables and optionally filters them * filter_var_array —通过相同的或不同的过滤器来过滤多个变量 * filter_var — Filters a variable with a specified filter * filter_var — 通过一个指定的过滤器来过滤单一的变量 * */ //http://www.test.com/zzz.php?email=1 //Email Found //if ( !filter_has_var(INPUT_GET, ‘email‘) ) { // echo "Email Not Found"; // }else{ // echo "Email Found"; // } //$filters = filter_list(); //foreach($filters as $filter_name) { // echo $filter_name .": ".filter_id($filter_name) ."<br>"; //} //print_r(filter_list()); // //下面是支持所有过滤类型 // // [0] => int // [1] => boolean // [2] => float // [3] => validate_regexp // [4] => validate_url // [5] => validate_email // [6] => validate_ip // [7] => string // [8] => stripped // [9] => encoded // [10] => special_chars // [11] => full_special_chars // [12] => unsafe_raw // [13] => email // [14] => url // [15] => number_int // [16] => number_float // [17] => magic_quotes // [18] => callback //$int = 123; // //if(!filter_var($int, FILTER_VALIDATE_INT)) // { // echo("Integer is not valid"); // } //else // { // echo("Integer is valid"); // } // $var=300; // //$int_options = array( //"options"=>array // ( // "min_range"=>0, // "max_range"=>256 // ) //); // //if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)) // { // echo("Integer is not valid"); // } //else // { // echo("Integer is valid"); // } //http://www.test.com/zzz.php?age=10&email=[email protected]&name=rrdsadsadas //$filters = array // ( // "name" => array // ( // "filter"=>FILTER_SANITIZE_STRING // ), // "age" => array // ( // "filter"=>FILTER_VALIDATE_INT, // "options"=>array // ( // "min_range"=>1, // "max_range"=>120 // ) // ), // "email"=> FILTER_VALIDATE_EMAIL, // ); // //$result = filter_input_array(INPUT_GET, $filters); // //if (!$result["age"]) // { // echo("Age must be a number between 1 and 120.<br />"); // } //elseif(!$result["email"]) // { // echo("E-Mail is not valid.<br />"); // } //else // { // echo("User input is valid"); // } //function convertSpace($string) //{ //return str_replace("_", " ", $string); //} // //$string = "Peter_is_a_great_guy!"; // //echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace")); /* * * 字符类型检测 * ctype_alnum — 做字母和数字字符检测 ctype_alpha — 做纯字符检测 包括大小写 ctype_cntrl — 做控制字符检测 ctype_digit — 做纯数字检测 ctype_graph — 做可打印字符串检测,空格除外 比如\n\t会被过滤 ctype_lower — 做小写字符检测 ctype_print — 做可打印字符检测 和ctype_graph很类似,但是包括空格 ctype_punct — 检测可打印的字符是不是不包含空白、数字和字母 ctype_space — 做空白字符检测 ctype_upper — 做大写字母检测 ctype_xdigit — 检测字符串是否只包含十六进制字符 * */ //$strings = array(‘AbCd1zyZ9‘, ‘foo!#$bar‘); //foreach ($strings as $testcase) { // if (ctype_alnum($testcase)) { // echo "只含有字母和数字"; // echo ‘<br>‘; // } else { // echo "不止包含字母和数字"; // echo ‘<br>‘; // } //} //$strings = array(‘KjgWZC‘, ‘arf12‘); //foreach ($strings as $testcase) { // if (ctype_alpha($testcase)) { // echo "只含有字母"; // echo ‘<br>‘; // } else { // echo "不止包含字母"; // echo ‘<br>‘; // } //} //$strings = array(‘string1‘ => "\n\r\t", ‘string2‘ => ‘arf12‘); //foreach ($strings as $name => $testcase) { // if (ctype_cntrl($testcase)) { // echo "包含控制字符"; // } else { // echo "不止包含控制字符"; // } //} //$strings = array(‘1820.20‘, ‘10002‘, ‘wsl!12‘); //foreach ($strings as $testcase) { // if (ctype_digit($testcase)) { // echo "只包含纯数字"; // } else { // echo "不只包含纯数字"; // } //} //$strings = array(‘string1‘ => "asdf\n\r\t", ‘string2‘ => ‘arf12‘, ‘string3‘ => ‘LKA#@%.54‘); //foreach ($strings as $name => $testcase) { // if (ctype_graph($testcase)) { // echo "所有字符打印时候都是可见的"; // } else { // echo "不是所有字符打印时候都是可见的"; // } //} //$strings = array(‘aac123‘, ‘qiutoas‘, ‘QASsdks‘); //foreach ($strings as $testcase) { // if (ctype_lower($testcase)) { // echo "所有字符都是小写"; // } else { // echo "不是所有字符都是小写"; // } //} //$strings = array(‘string1‘ => "asdf\n\r\t", ‘string2‘ => ‘arf12‘, ‘string3‘ => ‘LKA#@%.54‘); //foreach ($strings as $name => $testcase) { // if (ctype_print($testcase)) { // echo "所有字符打印时候都是可见的"; // } else { // echo "不是所有字符打印时候都是可见的"; // } //} //$strings = array(‘ABasdk!@!$#‘, ‘!@ # $‘, ‘*&$()‘); //foreach ($strings as $testcase) { // if (ctype_punct($testcase)) { // echo "字符不包含空白、数字和字母"; // } else { // echo "字符包含空白、数字和字母"; // } //} //$strings = array(‘string1‘ => "\n\r\t", ‘string2‘ => "\narf12", ‘string3‘ => ‘\n\r\t‘); //foreach ($strings as $name => $testcase) { // if (ctype_space($testcase)) { // echo "所有字符打印时候都是可见的"; // } else { // echo "不是所有字符打印时候都是可见的"; // } //} //$strings = array(‘AKLWC139‘, ‘LMNSDO‘, ‘akwSKWsm‘); //foreach ($strings as $testcase) { // if (ctype_upper($testcase)) { // echo "所有字符都是大写"; // } else { // echo "不是所有字符都是大写"; // } //} //$strings = array(‘AB10BC99‘, ‘AR1012‘, ‘ab12bc99‘); //foreach ($strings as $testcase) { // if (ctype_xdigit($testcase)) { // echo "所有字符都是十六进制"; // } else { // echo "不是所有字符都是十六进制"; // } //}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。