029.phpt
来自「PHP v6.0 For Linux 运行环境:Win9X/ WinME/ Wi」· PHPT 代码 · 共 104 行
PHPT
104 行
--TEST--filter_data() and FILTER_CALLBACK--FILE--<?php/* Simple callback function */function test($var) { return strtoupper($var);} var_dump(filter_data("data", FILTER_CALLBACK, "test"));var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, "test"));var_dump(filter_data("", FILTER_CALLBACK, "test"));var_dump(filter_data("qwe", FILTER_CALLBACK, "no such func"));var_dump(filter_data("qwe", FILTER_CALLBACK, ""));var_dump(filter_data("qwe", FILTER_CALLBACK));/* Simple class method callback */class test_class { static function test ($var) { return strtolower($var); }}var_dump(filter_data("dAtA", FILTER_CALLBACK, array("test_class", "test")));var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("test_class","test")));var_dump(filter_data("", FILTER_CALLBACK, array("test_class","test")));/* empty function without return value */function test1($var) {} var_dump(filter_data("data", FILTER_CALLBACK, "test1"));var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, "test1"));var_dump(filter_data("", FILTER_CALLBACK, "test1"));/* attempting to change data by reference */function test2(&$var) { $var = 1;} var_dump(filter_data("data", FILTER_CALLBACK, "test2"));var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, "test2"));var_dump(filter_data("", FILTER_CALLBACK, "test2"));/* unsetting data */function test3(&$var) { unset($var);} var_dump(filter_data("data", FILTER_CALLBACK, "test3"));var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, "test3"));var_dump(filter_data("", FILTER_CALLBACK, "test3"));/* unset data and return value */function test4(&$var) { unset($var); return 1;} var_dump(filter_data("data", FILTER_CALLBACK, "test4"));/* thrown exception in the callback */function test5(&$var) { throw new Exception("test");}try { var_dump(filter_data("data", FILTER_CALLBACK, "test5"));} catch (Exception $e) { var_dump($e->getMessage());}echo "Done\n";?>--EXPECTF-- string(4) "DATA"string(46) "~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?"}{:"string(0) ""Warning: filter_data(): First argument is expected to be a valid callback in %s on line %dNULLWarning: filter_data(): First argument is expected to be a valid callback in %s on line %dNULLWarning: filter_data(): First argument is expected to be a valid callback in %s on line %dNULLstring(4) "data"string(46) "~!@#$%^&*()_qwertyuiopasdfghjklzxcvbnm<>>?"}{:"string(0) ""NULLNULLNULLNULLNULLNULLNULLNULLNULLint(1)string(4) "test"Done
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?