php 语法:
换行:
echo"
";echo'
';
"."会连接字符串
'123'.'456'
"=="等号只判断左右两边的最终结果,而不判断数据类型。
"==="全等于首先判断两边的数据类型是否一致,接着判断最终结果是否一致。
“||”“|”"&&" "&"
和C语言几乎一样,只是||,&&执行短路,只要满足条件a||b++,就不执行后面的了,|,&都执行。
反引号`
@
->
=>
instanceof
empty()
传入一个变量,如果变量是false,null,返回true
isset()
传入一个或多个变量,逗号隔开,只要有一个为null,返回false,其他返回true
unset()
销毁变量
强制类型转换有三种方式:
1.用后面的三个函数可以完成类型转换,intval()、floatval()、strval()
2.变量前加上()里面写上类型,将它转换后赋值给其他变量
3.settype(变量,类型) 直接改变量本身
以下是强制类型转换时的特点:
1.空转为整型会为整型的0
2.空转为浮点会为浮点的0
3.空转为字符串会为空字符串‘’
4.浮点的123.0转为字符串会为字符串123
5.浮点的123.2转为字符串会为字符串的123.2
6.浮点即使小数点再大,会舍掉小数点后面的值
7.如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。
8.settype(变量,'null'); 等价于 unset()一个变量
9.$目标变量 = (类型)$操作变量 只会改变目标变量的类型,不会改变原变量的类型,Settype是改变原值
可变变量,就是名称变值,多加几个$$
php 的集成环境
安装在写
不写了...
php正则
int preg_match ( string $正则 , string $字符串 [, array &$结果] )
如://匹配一个空格
$zz = '/ /';
$string = 'sssssw aaaaa';
if(preg_match($zz, $string, $ma)){
echo '匹配到了,结果为:';
var_dump($ma);
}else{
echo '没有匹配到';
}
?>
特殊标识的原子
原子 说明
\d 匹配一个0-9
\D 除了0-9以外的所有字符
\w a-z A-Z 0-9 _
\W 除了0-9 A-Z a-z _ 以外的所有字符
\s 匹配所有空白字符\n \t \r 空格
\S 匹配所有非空白字符
[ ] 指定范围的原子
如:
$zz = '/[abc]\d+/';
$string = 'a9';
$string1 = 'b1';
$string2 = 'c5';
$string3 = 'd4';
if(preg_match($zz, $string3, $matches)){
echo '匹配到了,结果为:';
var_dump($matches);
}else{
echo '没有匹配到';
}
?>
[^ 字符] 不匹配指定区间的字符,就是反选。
注:匹配一个符合条件的就停了,不继续向后匹配。
除了这样做:
元字符 功能说明
{0,} 是代表匹配前面的一个原子,匹配0次或者任意多次前面的字符。
{1,} 匹配一次或多前前面的一个字符
? {0,1} 前面的字符可有可无【可选】 有或没有
. 更标准一些应该把点算作原子。匹配除了\n以外的所有字符
| 或者 优先级最低。
^ 必须要以抑扬符之后的字符串开始
$ 必须要以$之前的字符结尾
\b 词边界,空格,最前或最后可被匹配
\B 非边界,在边界不能被匹配
{m} 有且只能出现m次
{n,m} 可以出现n到m次
{m,} 至少m次,最大次数不限制
() 改变优先级或者将某个字符串视为一个整体,匹配到的数据取出来也可以使用它
例:
改变优先级:
$zz = '/ab(c|b)cd/';
$string1 = "abccd";
$string2 = "ggggbcd";
$string3 = 'abbcd';
if (preg_match($zz, $string3, $matches)) {
echo '匹配到了,结果为:';
var_dump($matches);
} else {
echo '没有匹配到';
}
?>
模式匹配符 功能
i 模式中的字符将同时匹配大小写字母.
m 字符串视为多行
s 将字符串视为单行,换行符作为普通字符.
x 将模式中的空白忽略.
A 强制仅从目标字符串的开头开始匹配.
D 模式中的美元元字符仅匹配目标字符串的结尾.
U 匹配最近的字符串.
例
$pattern = '/^a\d+/m';
$string = "中国的未来需要我们不断的努力
a9是一个用来测试的字符
为了祖国的荣耀而学习";
if (preg_match($pattern, $string, $matches)) {
echo '匹配到了,结果为:';
var_dump($matches);
} else {
echo '没有匹配到';
}
?>
PHP文件
//linux类的读了方式
readfile("/home/paul/test.txt");
//windows类的读取方式
readfile("c:\\boot.ini");
?>
例:
readfile("E:\\2233.txt")
?>
中文路径会错
fopen函数 fopen函数的功能是打开文件,参数主要有两个:
1.文件打开的路径
2.打开文件的模式
返回类型是一个资源类型,我们第一次遇到了之前基础类型的时候讲到的资源类型。
资源类型需要其他的函数来操作这个资源。所有的资源有打开就要有关闭。
fread函数 函数的功能的功能是读取打开的文件资源。读取指定长度的文件资源,读取一部份向后移动一部份。至到文件结尾。
fclose函数 fclose函数的功能是关闭资源。资源有打开就有关闭。
了解完函数,后两个函数比较简单。而fopen函数的模式到底是什么,fopen的模式有下面几个,我们来讲一下fopen的模式:
模式 说明
r 只读方式打开,将文件指针指向文件头。
r+ 读写方式打开,将文件指针指向文件头。
w 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
w+ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
a 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建
a+ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之
x 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建
x+ 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建。
这个和C语言的文件差不多
文件的写入
$filename = 'test.txt';
$fp= fopen($filename, "w");
$len = fwrite($fp, '程序员就是为了改变世界而存在呀');
fclose($fp);
print $len .'字节被写入了\n';
?>
临时文件
//创建了一个临时文件
$handle = tmpfile();
//向里面写入了数据
$numbytes = fwrite($handle, '写入临时文件');
//关闭临时文件,文件即被删除
fclose($handle);
echo '向临时文件中写入了'.$numbytes . '个字节';
?>
操作文件
//旧文件名
$filename = 'test.txt';
//新文件名
$filename2 = $filename . '.old';
//复制文件
rename($filename, $filename2);
?>
//旧文件名
$filename = 'copy.txt';
//新文件名
$filename2 = $filename . '_new';
//修改名字。
copy($filename, $filename2);
?>
$filename = 'test.txt';
if (unlink($filename)) {
echo "删除文件成功 $filename!\n";
} else {
echo "删除 $filename 失败!\n";
}
?>
检测文件状态:
bool file_exists ( $指定文件名或者文件路径)
功能:文件是否存在。
bool is_readable ( $指定文件名或者文件路径)
功能:文件是否可读
bool is_writeable ( $指定文件名或者文件路径)
功能:文件是否可写
bool is_executable ( $指定文件名或者文件路径)
功能:文件是否可执行
bool is_file ( $指定文件名或者文件路径)
功能:是否是文件
bool is_dir ( $指定文件名或者文件路径)
功能:是否是目录
void clearstatcache ( void )
功能:清除文件的状态缓存