PHP的基础知识(二)

来源:互联网 发布:linux服务器开发 编辑:程序博客网 时间:2024/04/28 20:17

PHP的字符串

首先来区别一下下面两种字符串:

echo “hello”.”world”;echo “hello”,”world”;

注意:这里第一条是一个字符串,第二条是两个字符串

字符串的查找

这里用strpos();命令
用法:strpos(要操作的字符串,要查找的字符)返回查找字符的位置

$str = “hello world”;echo strpos($str, “w”); // 返回的是第一次查找的位置 输出6echo stripos($str, “W”);  // stripos是不区分大小写的查找 也是输出6

字符串的替换

这里用str_replace();命令替换字符串的匹配内容
用法:str_replace(匹配内容,替换内容,字符串)

$str = str_replace(“l”, ““, $str); // 能将全部查找的到的都进行替换echo $str; // 输出he**o word$str = str_ireplace(“L”, ““, $str); // 同样不区分大小写echo $str; // 输出he**o word

字符串的截取

这里有substr();命令截取用法:substr(字符串,截取的起始长度(可以为负数),截取的长度)

$str = “hello world”;$str = substr($str, 3); // $str为lo world$str = substr($str, 3, 7); // $str为lo worl$str = substr($str, -4, 3); // $str为orl

字符串的截取2

PHP也有第二种截取命令strstr();
strstr(字符串,截取的字符)

$str = “hello world”;$str = strstr($str, “ll”);$str = stristr($str, “LL”); // 不区分大小写

字符串的去除空格

这里有三种方法。
1.ltrim();
2.rtrim();
3.trim();
分别是去除左边空格,去除右边空格,和去除两边空格

$str = “ hello “;$str = ltrim($str); // 去除左边的空格$str = rtrim($str); // 去除有边的空格$str = trim($str); // 去除所有空格

获取字符串长度

用strlen();来获取

$str = “wwwwwwwww”;echo strlen($str); // 这里输出为8

字符串的大小写转换及反转

1.转换成小写

$str = “ABCD”;echo strtolower($str); // 输出结果为abcd

2.转换成大写

$str = “abcd”;echo strtoupper($str); // 输出结果为ABCD

3.反转

$str = “abcd”;echo strrev($str); // 输出结果为ABCD

去除字符串中的标签

strip_tags();

字符串的换行符

nl2br();

$str = “AB\nCD”;echo nl2br($str); // 输出结果为AB//CD

PHP的数组

数组的创建

PHP的数据创建有三种方式:1.array();创建

$fruit = array(“apple”, “orange”, “banana”);$fruit[] = “pear”; // 在数组最后添加$language = array(“en” => “English”, “ch” => “Chinese”); //“en”为键,”English”为值$language[“fr”] = “French”; // 在数组最后添加

2.直接赋值
$fruit[] = “orange”;$fruit[] = “banana”;
3.rang();
$num = range(0, 5); // 从0至5按顺序填充到数组中

获取数组的长度

使用count();获取

$num = range(0, 5);echo “该数组长度”.count($letter); // 输出结果为6

这里说一下我们一般输出数组用的是print_r();这个方法

判断是否为数组

可以使用is_array();

$a = array(“a”);echo is_array($letter);

判断数组是否存在某个值

in_array();

$letter = range(“a”, “A”);if (in_array(“B”, $letter))    echo “数组中有b”;else    echo “数组中没有b”;

遍历数组

这里博主推荐使用foreach来遍历较为方便
用法:foreach (as数组的键 => $数组的值) {…..}

foreach ($letter as $key => $value) {echo $key.”的值是”.$value;}foreach ($letter as $value) {echo “值为”.$value;}

数组的排序方式

1.sort rsort
sort, rsort是给索引数组的排序

$fruit = array(“orange”, “banana”, “apple”);sort($fruit); // 升序rsort($fruit); // 降序

2.ksort krsort
ksort, krsort是依据关联数组的键排序

$fruit = array(“b” => “orange”, “a” => “banana”, “c” => “apple”);ksort($fruit); // 升序krsort($fruit); // 降序

3.asort arsort
asort, arsort是根据关联数组的值排序

$fruit = array(“b” => “orange”, “a” => “banana”, “c” => “apple”);asort($fruit); // 升序arsort($fruit); // 降序

二维数组

$people = array(    array(“name” => “zhangsan” , “sex” => “man”),    array(“name” => “lisi” , “sex” => “female”),    array(“name” => “wangwu” , “sex” => “man”));

二维数组的遍历方法

foreach ($people as $key => $newArr) {    var_dump($newArr);    foreach ($newArr as $key => $value) {        echo $key.”的值是”.$value;    }}

PHP数组和字符串之间的转换

数组转换字符串

implode();转换
用法:implode(分隔符,要操作的数组)

$arr = array(1, 2, 3, 4 ,5);$str = implode(“”, $arr);echo $str; // 输出为12345

字符串转换数组

explode();转换
用法:explode(分隔符,要操作的字符串)

$str = “a,b,c,d,e”;$arr = explode(“,”, $str);print_r($arr); // 输出Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

PHP对文件的操作

打开文件

$fh = fopen(“test.txt”, “a”);
a表示操作权限,会在后面讲到,要想对文件进行操作就必须要先打开文件读取文件

1.filesize

获取文件大小filesize,返回字符串
$str = fread($fh, filesize(“test.txt”)); // 可以读取文件的内容

2.fgets

fgets,返回字符串,只返回一行,再次运行返回就从下一行开始

while ($str = fgets($fh)) {    echo $str.”<hr/>“;}

3.file

file,返回数组
$arr = file(“test.txt”);

4.file_get_contents

file_get_contents获取文件内容,并把内容当成字符串返回出来,也可以用绝对路径打开一个网页

$str = file_get_contents(“test.txt”);$str = file_get_contents(“[https://www.baidu.com](https://www.baidu.com/)“);

文件写入

fwrite();
fwrite($fh, “我是写入的内容”);

关闭文件

fclose();
fclose($fh);

新建文件

$fh = fopen(“test2.txt”, “a”);fwrite($fh, “我是新建的”);fclose($fh);

新建文件2

file_put_contents();
file_put_contents(“test2.txt”, “我是put进去的”);

0 0