PHP伪类型和伪变量
一、伪类型
PHP伪类型有三种,分别是:1,mixed混合类型。2,number数字类型。3,callback回调类型。
1,mixed混合类型:
mixed说明一个参数可以接受多种不同的类型,但并不是所有的类型。
2,number数字类型:
number参数可以接受integer整型和float浮点型。
3,callback回调类型:
例如call_user_func()函数就可接收用户自定义的函数作为一个参数,他是php的一个内置函数。callback函数不仅可以是一个函数,也可以是一个对象的方法,静态类的方法也可以。一个php函数用函数名字符串来传递,可以传递任何内置的或者用户自定义的函数,除了语言结构例如array(),echo(),empty(),eval(),exit(),isset(),list(),print(),unset()等。
如果要传入一个对象的方法,需要以数组的形式来传递,数组下标0是对象名,下标1是方法名。要是没有实例化为对象的静态类,要传递其方法,要将数组0下标指明的对象名换成该类的名称。
除了普通的用户定义的函数外,也可以使用create_function来创建一个匿名的回调函数。
示例::
- <?php
- //普通的回调函数
- function my_callback_function(){
- echo "my is callback function.";
- }
- //回调方法
- class MyClass{
- static function myCallbackMethod(){
- echo "my is callback method.";
- }
- }
- //num1:回调函数
- call_user_func('my_callback_function');
- //num2:静态类的方法
- call_user_func(array('MyClass','myCallbackMethod'));
- //num3:对象方法
- $obj = new MyClass();
- call_user_func(array($obj,'myCallbackMethod'));
- //num4:静态类的方法(5.3.0以上)
- call_user_func('MyClass::myCallbackMethod');
- //num5:相对静态方法调用
- class A {
- public static function who(){
- echo "A";
- }
- }
- class B extends A {
- public static function who(){
- echo "B";
- }
- }
- call_user_func(array('B','parent::who')); //输出B
- //num6:调用时传入参数
- function test($a,$b){
- echo $a;
- echo $b;
- }
- call_user_function('test','1','2'); //输出1 2
- //num7:调用类方法传入参数
- class a(){
- function b($c){
- echo $c;
- }
- }
- call_user_func(array('a','b'),'1'); //输出1
- //num8:call_user_func_array与call_user_func很相似,只不过换了一种方式传递参数,让参数结构更清晰:
- function a($b,$c){
- echo $b;
- echo $c;
- }
- call_user_func_array('a',array('1','2')); //输出1 2
- //num9:用call_user_func_array调用类内部方法
- class A(){
- function a($b,$c){
- echo $b;
- echo $c;
- }
- }
- call_user_func_array(array('A','a'),array('1','2')); //输出1 2
- //num10:call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致:
- function a($b){
- $b++;
- }
- $c=0;
- call_user_func('a',$c); //输出1
- call_user_func('a',array($c)); //输出2
二、伪变量
php中的$...为伪变量,表示等等的意思,当一个函数可以接受任意个参数时使用此变量名。
转载于:https://www.cnblogs.com/457248499-qq-com/p/7357793.html
PHP伪类型和伪变量相关推荐
- php伪类型,解密PHP伪类型和伪变量的含义
伪类型是PHP 文档里用于表示参数可以使用的类型或者函数的返回类型. 它们不是 PHP 的数据类型. 只是文档说明,相当于注释. 所以理解的重点就是伪类型就是代码注释,用于说明函数的参数和返回类型的. ...
- php 数据类型伪类型,PHP之伪类型与变量
本文档中使用的伪类型与变量 伪类型(pseudo -types)是PHP文档里用于指示参数可以使用的类型和值, 请注意,它们不是PHP语言里原生类型, 所以不能把伪类型用于自定义函数里面的类型约束(t ...
- 伪类和伪元素的区别,以及伪元素的妙用(上)
伪类到底是什么呢,与伪元素又有啥关联呢 小白程序员-博客第二篇 说到伪类和伪元素呢,这里可能就跟读者们唠叨一下啦,伪类和伪元素到底有什么渊源呢,上面文章说到伪元素可以清除浮动,其实呀,伪元素的功能不止 ...
- CSS3伪类和伪元素的特性和区别
前端er们大都或多或少地接触过CSS伪类和伪元素,比如最常见的:focus,:hover以及<a>标签的:link.visited等,伪元素较常见的比如:before.:after等. 其 ...
- 巧用伪元素和伪类让我们的html结构更清晰合理
css3为了区分伪类和伪元素,伪元素采用双冒号写法. 伪类 -- :hover, :link, :active, :visited, :first-child, :last-child, nth-ch ...
- html5复合选择器,web前端练习31----Css,选择器(基本选择器,复合选择器,属性选择器,伪类,伪元素,优先级,雪碧图练习)...
参考文档:https://man.ilovefishc.com/css3/ 一.基本选择器: 1通配符选择器 * 2元素选择器 element 3类选择器 .class 4id选择器 #id 5内联样 ...
- CSS之 :before :after的用法,伪类和伪元素的区别
一::before && :after的用法 :before 如同对伪元素的名称一样,:before 是用来给指定的元素的内容前面插入新的内容.举例说明: .before:before ...
- 浅析SQL Server数据库中的伪列以及伪列的含义
浅析SQL Server数据库中的伪列以及伪列的含义 原文:浅析SQL Server数据库中的伪列以及伪列的含义 本文出处:http://www.cnblogs.com/wy123/p/6833116 ...
- java的string访问某个元素_CSS伪类与伪元素总是傻傻分不清,这份总结够面试用了
熟悉前端的人都会听过 css 的伪类与伪元素,然而大多数的人都会将这两者混淆.本文从解析伪类与伪元素的含义出发,区分这两者的区别,并且列出大部分伪类与伪元素的具体用法,即使你有用过伪类与伪元素,但里面 ...
最新文章
- clickhouse批量写入_交互式分析领域,为何 ClickHouse 能够杀出重围?
- R语言dplyr包为dataframe添加数据列实战( Add Columns):基于mutate()函数添加一个或者多个数据列(尾部添加、头部添加、条件生成、某个具体数据列的前后)
- 99%高精度、毫秒级延迟,AI便携式神经假肢让截肢14年患者运动自如
- Android --- 怎么样在布局中显示服务器的图片,或者是后台项目中的图片+connect failed: ECONNREFUSED (Connection refused)问题的解决(文章最后)
- P5459-[BJOI2016]回转寿司【树状数组】
- 解决在IDEA 的Maven下 出现 Cannot access in offline mode 问题
- 古典密码算法 java_古典密码算法的实现
- new Date()浏览器兼容性问题
- 这是目前为止5G最完整的PPT
- Windows 2008 R2 导出Excel时提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
- Atitit ide之道 开发工具之道 attilax著 v2 s22.docx Atitit ide开发工具之道 attilax总结 1. 代码编辑器功能	3 1.1. 关键词颜色 	3 1.2.
- Solr完整个性化搜索排序方案
- canva画图 图片居中裁剪_html5 canvas 自定义画图裁剪图片
- Debian旧版本下载
- ElectronBot支线项目
- lammps一对一课程学习大纲
- Variable Rate Gradual Dutch Auctions:一种出售元宇宙虚拟土地的新方式
- python爬楼梯问题_用Python解决经典的爬楼梯问题
- php nette,thinkphp 采用nettemail发送邮件
- c语言对于随机数的产生于应用,c语言之产生随机数详解
热门文章
- editor 插入图片之后将光标放到右侧_通过vscode插件自动上传剪贴板图片至aws s3
- Android下的Linux
- python encoding报错_菜鸟世界 -docker 环境下解决python 的 UnicodeEncodeError 错误
- cvm服务器怎么建网站,云服务器cvm快速入门教程
- python自带模块连接数据库_Python模块Sqlite数据库模块
- win2003服务器的一些安全设置
- windows 10 安装和使用中5个常见问题
- CF809C(找规律+数位DP)
- Week04-面向对象设计与继承
- 分模块开发创建父工程——(六)