读写文本文件
在 PHP 中,提供了一系列的系统函数,用于读写文本文件的内容。
PHP 读写文本文件常用函数:
| 函数名 | 说明 |
|---|---|
| fopen() | 打开文件 |
| fclose() | 关闭文件 |
| fgets() | 读取一行字符 |
| fgetss() | 读取一行字符,并过滤掉HTML和PHP标记 |
| fgetc() | 读取一个字符 |
| fputs() | 写入文件内容 |
| fwrite() | 写入文件内容 |
| file_get_contents() | 将整个文件读入一个字符串 |
| file_put_contents() | 将一个字符串写入文件 |
在 PHP 中,通过 fopen() 函数打开文件时,必须要指定打开文件的访问权限
PHP 打开文件访问权限:
| 访问权限 | 说明 |
|---|---|
| r | 以只读方式打开文件 |
| r+ | 以读写方式打开文件 |
| w | 以写入方式打开文件 注:如果该文件不存在,则创建文件;如果该文件存在,则替换现有文件 |
| w+ | 以读写方式打开文件 注:如果该文件不存在,则创建文件;如果该文件存在,则替换现有文件 |
| a | 以写入方式打开文件,并向文件末尾追加内容 注:如果该文件不存在,则创建文件 |
| a+ | 以读写方式打开文件,并向文件末尾追加内容 注:如果该文件不存在,则创建文件 |
| x | 创建并以写入方式打开文件 |
| x+ | 创建并以读写方式打开文件 |
写入文件步骤:
1、打开文件
2、向文件中写入内容
3、关闭文件
<?phpheader("content-type:text/html;charset=utf-8");$handle = fopen("doc.txt","w");fputs($handle, "你好中国");fclose($handle);
代码讲解
1、打开文件
$handle = fopen(“doc.txt”,”w”);
以写入的方式,打开当前目录下的 doc.txt 文件。
doc.txt:是要打开的文件。
w:是打开文件的访问权限。
$handle:是通过 fopen() 函数打开的文件。
2、写入文件内容
fputs($handle, “你好中国”);
向 $handle 所指向的文件中写入内容。
$handle:要写入的文件。
“你好中国”:向文件中写入的内容。
3、关闭文件
fclose($handle);
关闭 $handle 所指向的文件。
读取文件步骤:
1、打开文件
2、读取文件中的内容
3、关闭文件
<?phpheader("content-type:text/html;charset=utf-8");$handle = fopen("doc.txt","r");$str = fgets($handle);fclose($handle);echo $str;
代码讲解
1、打开文件
$handle = fopen(“doc.txt”,”r”);
以只读的方式,打开当前目录下的 doc.txt 文件。
doc.txt:是要打开的文件。
r:是打开文件的访问权限。
$handle:是通过 fopen() 函数打开的文件。
2、读取文件内容
$str = fgets($handle);
从 $handle 所指向的文件中读取一行字符。
3、关闭文件
fclose($handle);
关闭 $handle 所指向的文件。
索引数组
数组是一组数据的集合,这组数据按照一定的规则组织起来,形成一个可操作的整体。
PHP数组分类(根据数组下标不同):
索引数组
关联数组
索引数组:数组的下标是由整数数字组成,默认从 0 开始,向后每次加 1。
定义索引数组语法格式:
1、定义一个空数组
$数组名 = array();
2、定义数组并赋值
$数组名 = array( 值 , 值 , 值 … );
<?phpheader("content-type:text/html;charset=utf-8");$arr = array("北京",100,"上海","天津");print_r($arr);
代码讲解
1、定义数组并赋值
$arr = array(“北京”,100,”上海”,”天津”);
定义索引数组,并将 “北京”、100、”上海”、”天津” 这四个值存储到数组中。
$arr:是数组的名称。
在 PHP 中,通过数组名称及数组下标,可实现对数组中所有值的操作。
索引数组取值语法格式:
$数组名称[下标];
<?phpheader("content-type:text/html;charset=utf-8");$arr = array("北京",100,"上海","天津");echo "数组中第1个值:{$arr[0]}<br/>";echo "数组中第3个值:{$arr[2]}<br/>";
代码讲解
1、数组取值
echo “数组中第1个值:{$arr[0]}
“;
echo “数组中第3个值:{$arr[2]}
“;
取出 $arr 数组中的值,并输出。
$arr:是数组名称。
$arr[0]:代表 $arr 数组中第 1 个值,而数组中第 1 个值的下标为 0。
$arr[2]:代表 $arr 数组中第 3 个值,而数组中第 3 个值的下标为 2。
索引数组存值语法格式:
1、将值存储到数组指定下标位置
$数组名[下标] = 值;
2、向数组末尾追加值
$数组名[] = 值;
<?phpheader("content-type:text/html;charset=utf-8");$arr = array("北京",100,"上海","天津");$arr[5] = "西安";$arr[1] = "深圳";$arr[] = "南京";print_r($arr);
代码讲解
1、将值存储到数组指定下标位置
$arr[5] = “西安”;
将 “西安” 存储到 $arr 数组中 5 下标对应的位置。
2、修改数组中原有值
$arr[1] = “深圳”;
将 “深圳” 存储到 $arr 数组中 1 下标对应的位置。
注:因为 $arr 数组 1 下标原本就有值,所以此句代码,相当于将 1 下标原有值修改为 “深圳”。
3、向数组末尾追加值
$arr[] = “南京”;
将 “南京” 添加到 $arr 数组的末尾位置。
在 PHP 中,通过 count() 函数可以获得数组长度。数组长度,是指数组中存储的值的个数。
获得数组长度语法格式:
count($数组名称);
<?phpheader("content-type:text/html;charset=utf-8");$arr = array("北京",100,"上海","天津");$len = count($arr);echo "数组长度为:{$len}";
代码讲解
1、获得数组长度
$len = count($arr);
通过 count() 函数,获得 $arr 数组长度,也就是 $arr 数组中值的个数。
关联数组
关联数组:数组的下标是由字符串组成,当然,字符串可以包含数字。
在一个数组中,只要有一个值的下标不是数字,这个数组就是关联数组。
定义关联数组语法格式:
1、定义一个空数组
$数组名 = array();
2、定义数组并赋值
$数组名 = array( 下标=>值 , 下标=>值 , 下标=>值 … );
<?phpheader("content-type:text/html;charset=utf-8");$arr = array("userName"=>"张小明","sex"=>"男","age"=>10);print_r($arr);
代码讲解
1、定义数组并赋值
$arr = array(“userName”=>”张小明”,”sex”=>”男”,”age”=>10);
定义关联数组,并向数组中存储三个值。
在 PHP 中,关联数组的操作与索引数组几乎完成相同,只不过数组的下标有所区别。
<?phpheader("content-type:text/html;charset=utf-8");$arr = array("userName"=>"张小明","sex"=>"男","age"=>10);$arr["address"] = "北京";$arr["age"] = 17;$len = count($arr);echo "姓名:{$arr["userName"]}<br/><br/>";echo "数组长度为:{$len}<br/><br/>";print_r($arr);
代码讲解
1、向数组中添加一个新值
$arr[“address”] = “北京”;
将 “北京” 存储到 $arr 数组中,对应的数组下标为 “address”。
2、修改数组中原有值
$arr[“age”] = 17;
将 $arr 数组中 “age” 下标对应的值,修改为 17。
3、获得数组长度
$len = count($arr);
通过 count() 函数,获得 $arr 数组长度。
4、数组取值
echo “姓名:{$arr[“userName”]}
“;
获得 $arr 数组中 “userName” 下标对应的值,并输出。
多维数组
在 PHP 中,一个数组中的值可以是另一个数组,另一个数组中的值也可以是一个数组,也就是说数组可以嵌套。
一维数组:没有发生嵌套的普通数组。
二维数组:两层数组的嵌套。
三维数组:三层数组的嵌套。
多维数组:多层数组的嵌套。
<?phpheader("content-type:text/html;charset=utf-8");$arr = array(array("id"=>1,"userName"=>"张三","sex"=>"男","age"=>15),array("id"=>2,"userName"=>"李四","sex"=>"女","age"=>14),array("id"=>3,"userName"=>"王五","sex"=>"女","age"=>16),array("id"=>4,"userName"=>"赵六","sex"=>"男","age"=>15),array("id"=>5,"userName"=>"田七","sex"=>"女","age"=>16));echo "第5名学生的姓名为:{$arr[4]["userName"]}<br/><br/>";echo "<pre>";print_r($arr);echo "</pre>";
代码讲解
1、定义二维数组
$arr = array(
array(“id”=>1,”userName”=>”张三”,”sex”=>”男”,”age”=>15),
array(“id”=>2,”userName”=>”李四”,”sex”=>”女”,”age”=>14),
array(“id”=>3,”userName”=>”王五”,”sex”=>”女”,”age”=>16),
array(“id”=>4,”userName”=>”赵六”,”sex”=>”男”,”age”=>15),
array(“id”=>5,”userName”=>”田七”,”sex”=>”女”,”age”=>16)
);
$arr 数组中的每个值都是一个数组,也就是两层数组的嵌套,所以 $arr 是一个二维数组。
2、二维数组取值
echo “第5名学生的姓名为:{$arr[4][“userName”]}
“;
获得 $arr 数组中值,并输出。
$arr[4]:代表 $arr 数组中的第 5 个值,也就是 4 下标对应的关联数组。
$arr[4][“userName”]:代表 $arr 数组中 4 下标对应的关联数组中的 “userName” 下标对应的值。
字符串函数
在 PHP 中,提供了一系列的系统函数,用于实现字符串的相关操作。
PHP 常用字符串函数:
| 函数名 | 说明 |
|---|---|
| chr() | 从指定ASCII值返回字符 |
| explode() | 分割字符串 |
| ltrim() | 移除字符串左侧的空白字符或其他字符 |
| md5() | 使用MD5算法对字符串进行加密 |
| nl2br() | 将字符串中的\n转换为 |
| ord() | 返回字符串中第一个字符的ASCII值 |
| rtrim() | 移除字符串右侧的空白字符或其他字符 |
| strlen() | 返回字符串长度 |
| str_replace() | 替换字符串中的一些字符(大小写敏感) |
| strpos() | 返回字符串在另一字符串中第一次出现的位置(大小写敏感) |
| strrpos() | 返回字符串在另一字符串中最后一次出现的位置(大小写敏感) |
| strtolower() | 把字符串转换为小写字母 |
| strtoupper() | 把字符串转换为大写字母 |
| substr() | 截取字符串 |
| trim() | 移除字符串两侧的空白字符或其他字符 |
<?phpheader("content-type:text/html;charset=utf-8");$a = trim("==中国==","=");echo "移除字符串两侧的其他字符:{$a}<br/><br/>";$a = explode("-","北京-上海-深圳");echo "分割字符串:";print_r($a);echo "<br/><br/>";$a = strlen("你好中国");echo "字符串长度:{$a}<br/><br/>";$a = md5("张三");echo "md5加密:{$a}<br/><br/>";$a = str_replace("Hello", "你好", "Hello,北京");echo "字符串替换:{$a}<br/><br/>";$a = strtolower("HelloWorld");echo "转为小写字母:{$a}<br/><br/>";$a = strtoupper("HelloWorld");echo "转为大写字母:{$a}<br/><br/>";$a = substr("HelloWorld", 5,5);echo "字符串截取:{$a}<br/><br/>";
代码讲解
1、移除字符串两侧的空白字符或其他字符
$a = trim(“==中国==”,”=”);
移除字符串 “==中国==” 两侧的 “=” 字符。
2、分割字符串
$a = explode(“-“,”北京-上海-深圳”);
将字符串 “北京-上海-深圳” 按字符串 “-“ 进行分割,并返回数组。
3、获取字符串长度
$a = strlen(“你好中国”);
获取字符串 “你好中国” 的长度。
4、MD5加密
$a = md5(“张三”);
通过 MD5 算法,对字符串 “张三” 进行加密。
5、替换字符串
$a = str_replace(“Hello”, “你好”, “Hello,北京”);
将字符串 “Hello,北京” 中的 “Hello” 字符串,替换为 “你好”。
6、将字符串转换为小写字母
$a = strtolower(“HelloWorld”);
将字符串 “HelloWorld” 转换为小写字母。
7、将字符串转换为大写字母
$a = strtoupper(“HelloWorld”);
将字符串 “HelloWorld” 转换为大写字母。
8、截取字符串
$a = substr(“HelloWorld”, 5,5);
在字符串 “HelloWorld” 中,从 5 下标开始,向右截取 5 个字符。
