验证字符串函数
**1.trim()字符串的首尾的空白去掉与strlen()**相结合可算出字符串长度
**==**两字符须一致
格式化
用%0表示补白字符
变量内插
$y='abc';
print "this is $y"
here 和 now 文档
now 为单引号字符串,不支持内插
hereWie双引号字符串,支持内插,为避免歧义应加花括号才能正确内插
比较字符串
会按照字典(ASCII码)的顺序比较
如果字符串以数字开头或只有数字,php会将字符串转化为数字,若开头为字母则视为字符串
x54321<x5678
54321>5678
6 pack >55 card stud 因为6>5
6 pack < 55 视为6<55
若不想自动转换数字可用
strcmp($ x,$ y)
比较两参数若x>y return 1,x=y return 0 ,x<y return 0
x54321<x5678
54321<5678
6 pack>55 card stud
6 pack>55
<=>飞船运算符(php7)
与> < 比较方法一样
x<=>y
x>y 正数
x<y 负数
x=y 0
0 <=> “0” 0<“0”
strcasecmp()函数
strcasecmp($ x,$ y)若x,y相等(忽略大小写)return 0
循环
与C语言基本一致 while() for()
数组
创建数组
<?php
$dinner = array('bark' => 'xin',
'beat' => 'red',
'carrot' => 'green');
foreach($dinner as $key=>$value)
{
echo $key.":".$value;
echo "<br>";
}
?>
<?php
$dinner = ['bark' => 'xin',
'beat' => 'red',
'carrot' => 'green'];
print_r ($dinner);
?>
output
Array ( [bark] => xin [beat] => red [carrot] => green )
在print_r()前面加上echo “< pre>”; 会得到格式更加明了的数组结构。
HTML标签< pre>可定义预格式化的文本。< pre>< /pre>可以把他们之间文本中的空格、回车、换行、Tab键表现出来,即按照文本原先的布局显示。
$name['key']=['value']
如果key为空会将value装在[0]键上
**count()**函数返回元素
$ number=count($list)
array_key_exists函数(“key”,$数组名)
判断key是否在数组中return true 或 false
in_array(“value”,$ 数组)
判断value是否在数组中 return true 或 false
array_serach(“vale”,$ 数组名)
判断value是否在数组中 return $key
修改数组
unset($dishes[‘key’])
删除key
implode()
把数组变成字符串
$dis=['chinexe'.'english','freach'];
$nation=implode(', ',$dis);
output
chinexe. english, freach
排序数组
**sort()**排序
若key是单词,会顶替key,并在位置从0开始写数字,按照ASCII排序升序,排value,顶替的单词也要算
**asort()**不会顶替key
ksort() 排key
降序即为 rosrt(),arosrt(),krsort()
多维数组
<?php
$nation = array('chinese' => ['a'=>'beijing','b'=>'shanghai'],
'japan' => ['xin'=>'tokoy','guang'=>'sakura']);
foreach($nation as $key=>$value)
{
foreach($value as $nkey=>$nvalue)
{
print "$nkey".':'."$nvalue \n";
echo "<br>";
}
}
?>
输出
a:beijing
b:shanghai
xin:tokoy
guang:sakura
函数
函数中的实参改变不会影响外部
匿名函数
与python有点类似,但python不需要命名函数,而php需要
python : f=lambda x:x**2
php : $f=funcation(x){print x*x;}
var_dump( $f) //得出对象
闭包
函数里有局部变量里,还有函数未被释放。即函数之间有嵌套
作用域
全局变量
局部变量
超全局变量:必须使用数组的形式
$GLOBALS
global
在函数内部定义,并与外部变量一致
静态变量
fun(){
static $x=1;
}
回调函数
函数的套用