[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的值是在不断增加的
随机推荐
- aes python加密
# *_*coding:utf-8 *_* #AES-demo import base64 from Crypto.Cipher import AES ''' 采用AES对称加密算法 ''' # st ...
- mongodb 下载安装 转
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.M ...
- PHP学习心得2
对于PHP的语法结构,刚开始真的很不习惯,真搞不懂为什么每个变量之前都要加个“$”符号,每个语句写完之后都必须加上“分号”来表示此句已经结束,还有,PHP对字母的大小写是敏感的,写的时候一定要注意大小 ...
- 【百度】大型网站的HTTPS实践(三)——HTTPS对性能的影响
HTTPS在保护用户隐私,防止流量劫持方面发挥着非常关键的作用,但与此同时,HTTPS也会降低用户访问速度,增加网站服务器的计算资源消耗.本文主要介绍HTTPS对性能的影响. HTTPS对访问速度的影 ...
- Android Service执行unbind后再次执行bind的问题
在执行了startService.bindService.unbindService之后,再次执行bindService.这时发现Service的onBind方法并没有执行,而是执行的onRebind ...
- c++11 标准库函数 std::move 和 完美转发 std::forward
c++11 标准库函数 std::move 和 完美转发 std::forward #define _CRT_SECURE_NO_WARNINGS #include <iostream> ...
- BZOJ2789 [Poi2012]Letters 【树状数组】
题目链接 BZOJ 题解 如果我们给\(A\)中所有字母按顺序编号,给\(B\)中所有字母编上相同的号码 对于\(B\)中同一种,显然号码应该升序 然后求逆序对即可 #include<algor ...
- 【django基础之ORM,增删改查】
一.定义 1.什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候, ...
- bzoj2441【中山市选】小W的问题
题目描述 有一天,小W找了一个笛卡尔坐标系,并在上面选取了N个整点.他发现通过这些整点能够画出很多个“W”出来.具体来说,对于五个不同的点(x1, y1), (x2, y2), (x3, y3), ( ...
- Jenkins(二)---jenkins之Git+maven+jdk+tomcat
git+maven+jdk+tomcat 这四个软件可以百度在linux下的安装,不再赘述. server A ---> jenkins主机ip:192.168.100.119 serve ...