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 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(‘[email protected]!$#‘, ‘[email protected] # $‘, ‘*&$()‘);
//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 "不是所有字符都是十六进制";
//    }
//}
时间: 2024-10-09 10:16:06

php函数研究的相关文章

jquery的匿名函数研究

jQuery片段: ? 1 2 3 ( function (){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿 名函数又没看到运行(当然是运行了……),就能有jQuery这么个函数库了?于是,我抱着疑问来到CSDN.结果相信现在很多人都很清楚了(因为在我之 后也不乏来者,呵呵~).当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来!真神

数据库中的函数研究

数据库中的函数研究 1)SQL 拥有很多可用于计数和计算的内建函数 2)常用函数: 3)avg() 返回数值列的平均值 语法:select avg(列名)from table_name 示例: select avg(price) as priceAverage from table_name select ProductName, Price from table_name where Price > (select AVG(Price) from Products) #选择价格高于平均价格的

黑马程序员-利用swap函数研究C的指针

设计3个函数,分别实现已下功能: 交换两个整数 交换两个整形指针 交换任意两个同类型的变量 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 void swap_int(int* pa, int* qa) //交换两个整数 5 { 6 int temp = *pa; 7 *pa = *qa; 8 *qa = temp; 9 } 10 11 12 void swap_intpur(int*

tldProcessFrame函数研究

该函数处理tld中的每一帧. 用到的函数:tldtrcaking function tld = tldProcessFrame(tld,i) I = tld.source.idx(i); % get current index 获取当前的索引咯tld.img{I} = img_get(tld.source,I); % grab frame from camera / load image 读取数据 % TRACKER ---------------------------------------

iOS工程中的info.plist文件的完整研究

原地址:http://blog.sina.com.cn/s/blog_947c4a9f0100zf41.html 们建立一个工程后,会在Supporting files下面看到一个"工程名-Info.plist"的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除. 如果你在网上下载的工程中的这个文件名只是Info.plist,那么恭喜你,这个工程太老了,是用包含SDK2.0以前的Xcode生成的,不过没关系,不影响使用. 如果你使用文本编辑器打开这个文件,你会发现这是一个XM

UIApplication深入研究

很多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念,所以我这里写这个文章来总结以下这个类的信息,如果写的不对的地方,请留言,多谢. UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作. 每一个程序在运行期必须有且仅有一个UIApplication(或则其子类)的一个实例.回想一下我在前面的文章"main函数研究"的文章中提到的main函数的代码,可以看出,在程序开始运

哈希函数和哈希表综述 (转)

哈希表及哈希函数研究综述 摘要 随着信息化水平的不断提高,数据已经取代计算成为了信息计算的中心,对存储的需求不断提高信息量呈现爆炸式增长趋势,存储已经成为急需提高的瓶颈.哈希表作为海量信息存储的有效方式,本文详细介绍了哈希表的设计.冲突解决方案以及动态哈希表.另外针对哈希函数在相似性匹配.图片检索.分布式缓存和密码学等领域的应用做了简短得介绍 哈希经过这么多年的发展,出现了大量高性能的哈希函数和哈希表.本文通过介绍各种不同的哈希函数的设计原理以及不同的哈希表实现,旨在帮助读者在实际应用中,根据问

PHP很有用的一个函数ignore_user_abort ()

PHP很有用的一个函数ignore_user_abort () 2013-01-16 14:21:31|  分类: PHP |  标签:php  函数  |举报|字号 订阅 ignore_user_abort 设置与客户机断开是否会终止脚本的执行. 本函数返回 user-abort 设置的之前的值(一个布尔值). int ignore_user_abort ([ string $value ] ) 参数 描述 setting 可选.如果设置为 true,则忽略与用户的断开,如果设置为 false

PHP 函数 ignore_user_abort()

ignore_user_abort 设置与客户机断开是否会终止脚本的执行. 本函数返回 user-abort 设置的之前的值(一个布尔值). int ignore_user_abort ([ string $value ] ) 参数 描述 setting 可选.如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行. 如果未设置该参数,会返回当前的设置. 注释:PHP 不会检测到用户是否已断开连接,直到尝试向客户机发送信息为止.简单地使用 echo 语句无法确保信息