[php]php总结(1)
1、变量可以连续传递赋值
2、var_dump()打印变量信息
3、isset()与unset()
4、可变变量
$p = "temp";
$$p则表示$temp变量,即最右边的变量的值为下一个变量的值
5、变量支持引用
类似C语言可以利用&获取变量地址
6、变量的假值
0,null, 0.0, "", "0", array(),
7、单引号与双引号的区别
双引号中可以直接解析变量,单引号不可以
也能够解析大括号,单引号不可以
能够解析转义字符(单引号只能转义\和'),
$a = 100;
"the score is $a"输出为:the score is 100
"the score is {$a}"输出为:the score is 100
8、利用定界符声明字符串
$str = <<<EOF
heheheheeheheh
EOF;
相当于
$str = "heheheheeheheh";
EOF是自定义的
注意:开始标记必须是直接回车(空格都不能有)
结束标记后分号也直接回车
9、类型转换
setType(变量,类型字符串);
变量前加();
intval();floatval();strval();
10、常量
define(变量名字符串, 值);
constant()获取常量值
get_defined_constants();获取所有常量列表
11、php支持goto语句(与C相同)
12、函数默认参数
function demo($demo = "demo"){
}
13、可变参数函数
function demo(){
$arr = func_get_args();
$num = func_num_args();
}
14、变量函数
function add(){
}
$var = "add";
$var();
15、回调函数
回调函数:其接收的参数是函数,则这个函数就可成为回调函数
(1)利用变量函数来是实现的
//功能打印个位非0的数字
function remove($var, $func){
for($i=0; $i<$var; $i++){
if($func($i))
continue;
echo $i;
}
}
//此函数作为参数
function func($var){
if($var%10==0)
return true;
else
return false;
}
(2)当参数函数是类的静态方法或者是对象的方法,变量函数不能够支持
function remove($var, $func){
for($i=0; $i<$var; $i++){
if(call_user_func_array($func, array($i)))
continue;
echo $i;
}
}
class Filter{
function func($var){
if($var%10==0)
return true;
else
return false;
}
}
remove(100, array(new Filter(), "func"));
注意:此处调用remove函数是用数组来描述参数函数,即$func=array(new Filter(), "func")
call_user_func_array($func, array($i))是将后边数组中的元素按照顺序赋给前边的函数的形参
16、require和include的区别
(1)require在预处理时候执行,想当于将require文件中的用到的函数或内容拷贝到调用的地方
(2)require执行失败会出现致命错误,而include是出现警告
17、闭包函数
(1)函数内部有函数,父函数可以返回子函数,但子函数不能有return
(2)子函数可以调用父函数内部的变量,利用关键字use
(3)父函数的内部变量会保持激活状态不会被释放
function test(){
$a = 100;
$p = function () use(&$a){
echo $a++;
};
return $p;
}
$test = test();
$test();
$test();
$test();
多次调用$a的值是在不断增加的
随机推荐
- Html5 web 本地存储 (localStorage、sessionStorage)
HTML5 提供了两种在客户端存储数据的新方法localStorage,sessionStorage sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在, ...
- jmeter 正则表达式提取
引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:id,后面的引用方式是${id} 正则表达式:提取内容的正则表达式,相当于lr中的关联函数 [() 括起来的部分就是需要提 ...
- todomvc-app
1.HTML <!doctype html> <html lang="en"> <head> <meta charset="ut ...
- 【uoj#280】[UTR #2]题目难度提升 对顶堆+STL-set
题目描述 给出 $n$ 个数 $a_1,a_2,...,a_n$ ,将其排为序列 $\{p_i\}$ ,满足 $\{前\ i\ 个数的中位数\}$ 单调不降.求字典序最大的 $\{p_i\}$ . 其 ...
- 胡小兔的NOIP2017游记【出成绩后更新版】
胡小兔的NOIP2017游记[出成绩后更新版] 2017.11.22 Update 前几天成绩出来啦,看这篇博客访问量还挺多的,下面就分享一下结果吧: 我的Day1T2和Day2T1两道最水的题都跪了 ...
- Ants on tree
Description 从前有一个策略游戏, 叫做 蚂蚁上树 游戏中有一棵 nn 个节点, 以 11 为根的有根树 初始始每个节点都为空, 游戏系统会进行两种操作 : 1 x , 表示往 xx 节点放 ...
- 前端学习 -- 内联框架iframe
内联框架iframe 可以向一个页面中引入其他的外部页面 内联框架中的内容不会被搜索引擎所检索,所以开发中尽量不要使用内联框架 <iframe></iframe> 属性: sr ...
- Tcp协议三次握手四次挥手
一.什么是TCP TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的.可靠的. 基于IP的传输层协议.TCP在IP报文的协议号是6. 二.什 ...
- [case]filesystem problem
e2fsck -Nov-) fsck.ext4: Superblock invalid, trying backup blocks... fsck.ext4: Bad magic number in ...
- Cloudstack介绍(一)
云计算的出现 基本上,云计算只是一种把 IT 资源当作服务来提供的手段.几乎所有 IT 资源都可以作为云服务来提供:应用程序.计算能力.存储容量.联网.编程工具,以至于通信服务和协作工具. 云计算最早 ...