1、PHP 数据类型转换和判断方式
转换:在变量前加上用括号括起来的类型名称即可。例如:(boolean)、(string)
还可以通过settype()函数来完成,其语法如下:
bool settype (mixed var ,string type)
//参数var 为指定的变量,canshu type为指定的类型,有7个可选值:boolean,float,integer,array,null,object,string
判断:
函数 | 检测类型 |
is_bool | 检查变量是否是布尔类型 |
is_string | 检查变量是否是字符串类型 |
is_float/is_double | 检查变量是否为浮点类型 |
is_integer/is_int | 检查变量是否为整数 |
is_null | 检查变量是否为null |
is_array | 检查变量是否为数组类型 |
is_object | 检查变量是否一个对象类型 |
is_numeric | 检查变量是否为数字或者由数字组成的字符串 |
2、“===”、“==”和 "="
“==”是比较运算符,表示恒等,数值需要相等。
for($k=0;$k=1;$k++); //执行次数为无限
for($k=0;$k==1;$k++); //执行次数为1次
3、变量命名
- php中的变量名是区分大小写的
- 变量名必须以美元符号($)开始
- 变量名开头可以以下划线开始
- 变量名不能以数字字符开头
- 变量名可以包含一些扩展字符,但不能包含非法货站字符
4、PHP编写代码是否区分大小写
在通过$_GET[]或者$_POST[]全局数组获取表单元素时时区分大小写的
5、单引号和双引号的区别
双引号内解析变量,单引号内部解析变量
在没有变量转换、单纯的字符串中似乎是单引号更快
具体详情请参考https://blog.youkuaiyun.com/luyaran/article/details/53418430
6、表单中post方法和get方法进行提交的区别
post方式传递数据时,对于用户而言是保密的,安全性高,并且不受大小限制
get方式通过URL的参数来传递数据。没有安全保障,且长度有一定限制(250个字符),如果超长,浏览器会自动截取,导致数据丢失
7、isset 和 empty
empty() 判断一个变量是否为“空”。empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。
isset() 判断一个变量是否已经设置(定义)。在没有定义或者是NULL时为空。(变量删除 unset($name);)
8、echo count("test")
count()函数统计数组中单元的数目,任何其他类型都只有一个单元
所以 echo count("test") 输出 1
9、PHP获取客户端和服务器端的IP地址
getenv()函数 和 gethostbyname()函数
string getenv ( string $varname [, bool $local_only = FALSE ] )
$ip = getenv('REMOTE_ADDR'); //获取客户端IP地址
$ip = getenv('SERVER_ADDR'); //获取服务端IP地址
$ip = gethostbyname('www.baidu.com'); //获取指定域名的IP地址
10、 . 和 + 的优先级
连接运算符(.)的优先级 高于加号(+)
例如 echo 'abc' . 1 + 2 . '45' ; 相当于 ('abc' . 1 )+(2 . '45') 所以答案是 245
11、include() 、require()、 include_once() 、 require_once()
include() 引入文件若有错误,系统只是给出一个警告,文件继续向下执行
require() 引入文件若有错误,则会导致一个致命错误,并终止程序的执行
include_once() 和 require_once() 的共同点是导入文件前先检测该文件是否在该页面的其他部分被包含过,如果有,则不会重复包含
12、中文字符串的无乱码截取 mb_substr()
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )
参数
str 从该 string 中提取子字符串。
start 如果 start 不是负数,返回的字符串会从 str 第 start 的位置开始,从 0 开始计数。举个例子,字符串 'abcdef',位置 0 的字符是 'a',位置 2 的字符是 'c',以此类推。
如果 start 是负数,返回的字符串是从 str 末尾处第 start 个字符开始的。
length str 中要使用的最大字符数。如果省略了此参数或者传入了 NULL,则会提取到字符串的尾部。
encoding encoding 参数为字符编码。如果省略,则使用内部字符编码。
返回值
mb_substr() 函数根据 start 和 length 参数返回 str 中指定的部分。
未完待续...