美文网首页
php 长期更

php 长期更

作者: _return_ | 来源:发表于2018-03-31 16:59 被阅读14次

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 &$结果] )
如://匹配一个空格

<?php
$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 匹配所有非空白字符
[ ] 指定范围的原子

如:

<?php

$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次,最大次数不限制
    () 改变优先级或者将某个字符串视为一个整体,匹配到的数据取出来也可以使用它

例:
改变优先级:

<?php

$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 匹配最近的字符串.

<?php
$pattern = '/^a\d+/m';
$string = "中国的未来需要我们不断的努力
a9是一个用来测试的字符
为了祖国的荣耀而学习";
if (preg_match($pattern, $string, $matches)) {
    echo '匹配到了,结果为:';
    var_dump($matches);
} else {
    echo '没有匹配到';
}
?>

PHP文件

<?php
   //linux类的读了方式
   readfile("/home/paul/test.txt");
   //windows类的读取方式
   readfile("c:\\boot.ini");
?>

例:

<!DOCTYPE html>
<html>
<body>

<?php


  readfile("E:\\2233.txt")
?>

</body>
</html>

中文路径会错

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语言的文件差不多

文件的写入

<?php
   $filename = 'test.txt';
   $fp= fopen($filename, "w");
   $len = fwrite($fp, '程序员就是为了改变世界而存在呀');
   fclose($fp);
   print $len .'字节被写入了\n';
?>

临时文件

<?php
   //创建了一个临时文件
   $handle = tmpfile();

   //向里面写入了数据
   $numbytes = fwrite($handle, '写入临时文件');

   //关闭临时文件,文件即被删除
   fclose($handle);

   echo  '向临时文件中写入了'.$numbytes . '个字节';
?>

操作文件

<?php // new name
   //旧文件名
   $filename = 'test.txt';

   //新文件名
   $filename2 = $filename . '.old';

   //复制文件
   rename($filename, $filename2);
?>

<?php//copy
   //旧文件名
   $filename = 'copy.txt';

   //新文件名
   $filename2 = $filename . '_new';

   //修改名字。
   copy($filename, $filename2);
?>

<?php//delete
   $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 )
功能:清除文件的状态缓存

相关文章

  • php 长期更

    php 语法:换行:echo"";echo''; "."会连接字符串'123'.'456' "=="等号只判断左右...

  • PHP7的性能革新

    PHP7有哪些新性能?长期以来PHP饱受争议的性能问题,将会在PHP7得到大幅度的改善。下面我们一起来看看。 PH...

  • 简单理解PHP生成器

    适用PHP版本 (PHP 5 >= 5.5.0, PHP 7) 生成器提供了一种更容易的方法来实现简单的对象迭代,...

  • php长期使用的算法

    1.二维数组根据pid生成多维树 (注意:父级必须排在数组前面,降维的生成树方法)主要用于 从数据库取出菜单后,需...

  • 7.15学习

    PHP学习 view-source: print_r() 函数用于打印变量,以更容易理解的形式展示。 PHP 版本...

  • 安装ThinkPHP5.1长期支持版本

    官方文档ThinkPHP 5.1(LTS) —— 12载初心,你值得信赖的PHP框架LTS是长期支持(Long T...

  • 官方YUM源安装PHP7.4

    YUM源安装PHP7版本 1、安装前准备 添加PHP官方YUM源 添加PHP官方YUM源,更新系统软件仓库不更...

  • Xdebug在windows上的安装与结合phpstrom进行断

    Xdebug是一个PHP扩展,可以帮助我们PHP开发人员更方便地对PHP代码进行调试;它有许多强大的功能,其中包括...

  • PHP8中设置开启JIT

    PHP8.0.0于2020年11月26日发布了PHP 8在PHP的内核中添加了JIT编译器,可以极大地提高性能。更...

  • 长期停更通知

    因为作者自身原因,(其实就是作业写不完了。。。)决定暂停更新。 感谢大家长期以来的默默支持。 实在是抱歉。

网友评论

      本文标题:php 长期更

      本文链接:https://www.haomeiwen.com/subject/boalfftx.html