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 + -
显示快捷键?