PHP 学习笔记(2)
提示:学习过程中所记录的一些PHP内容
PHP 学习笔记目录
三、PHP 基本语法
6、字符串
6.1 PHP 字符串变量
定义字符串:$变量名 = “ 字符串内容 ”;
示例代码:
<?php
//定义字符串
$str1 = "341";
//字符串输出
var_dump($str1);
?>
运行结果:
6.2 PHP 字符串连接
字符串的连接方式通过 “ . ” 进行连接。
示例代码:
<?php
//定义字符串
$str1 = "hi ";
$str2 = "hello world!";
//字符串输出
echo $str1.$str2;
?>
运行结果:
6.3 PHP 计算字符串的长度
strlen() 函数:返回字符串的长度(字节数)
示例代码:
<?php
$str = "hello world!";
echo $str." 的长度为:".strlen($str);
?>
运行结果:
6.4 PHP 查找字符串的内容
strpos() 函数:在字符串中查找一段字符。
注意:
- 返回为第一个匹配的字符位置
- 当没有找到时,返回FALSE
示例代码:
<?php
//定义要查找的对象
$str = "hello world!";
//定义查的内容
$insetStr = "wor";
//定义从什么地方开始查,默认从头开始查
$start = 0;
echo "从 ".$str." 中查找 ".$insetStr." 的起始位置为 ".strpos($str,$insetStr,$start);
?>
运行结果:
6.5 PHP 字符串反转
strrev() 函数:字符串反转,使得原有的字符串反向输出。
注意:
- 汉字可能转化出现一定的问题
示例代码:
<?php
$str = "hello world!";
echo "原本的字符串:".$str;
echo "<br>";
echo "反转后的字符串:".strrev($str);
?>
运行结果:
6.6 PHP 字符串替换
str_replace() 函数:用于字符串的替换
注意:
- 若在目标对象中没有查到所查询的内容,则不会发生替换
- 替换只是发生在函数内,不会影响到原有的字符串,如果需要修改原字符串需要将结果赋值给原来的字符串的变量即可
示例代码:
<?php
//定义查找的对象
$str1 = "world";
//定义替换的对象
$str2 = "cat";
//定义要求改的目标对象
$str3 = "hello world!";
echo "原本的字符串为:".$str3;
echo "<br>";
echo "替换之后的字符串为:".str_replace($str1,$str2,$str3);
?>
运行结果:
6.7 PHP 字符串分割
explode() 函数:让字符串按照指定的要求进行分割
注意:
- 分割完成,由字符串会变成数组
- 如果定义的分割标准中,没有在分割对象中查出,则返回整个字符串数组
- 分割的结果,一定不包含分割标准的内容
示例代码:
<?php
//定义分割标准
$exp = " ";
//分割对象
$str = "hello world!";
var_dump(explode($exp,$str));
?>
运行结果:
6.8 PHP 字符串比较大小
strcmp() 函数:字符串比较大小,注意区分大小
实质:第一个字符串减第二个字符串,通过 ASCII 码进行做差,知道出现大小或对比到最后一个
注意:
- 结果如果为零,表明两个字符串相同
- 结果如果小于零,表明第二个字符串大于第一个字符串
- 结果如果大于零,表明第二个字符串小于第一个字符串
示例代码:
<?php
$str1 = "hello world!";
$str2 = "Hello world!";
$result = strcmp($str1,$str2);
if($result == 0){
echo "两个字符串相同";
}else if($result<0){
echo "第二个字符串大于第一个字符串";
}else{
echo "第二个字符串小于第一个";
}
?>
运行结果:
6.9 PHP 字符串大小写转化
- 大写转化为小写:strtolower()
- 小写转化为大写:strtoupper()
示例代码:
<?php
//操作对象
$str = "Hello world!";
//小写转化为大写
echo $str." 小写内容转化为大写内容,结果为:".strtoupper($str);
echo "<br>";
//大写转化为小写
echo $str." 大写内容转化为小写内容,结果为:".strtolower($str);
?>
运行结果:
6.10 PHP 字符串截取
substr() 函数:从目标字符串中截取一段内容
注意:
- 起始位置,正数:从头开始的位置;0:从开始的第一个字符处理;负数:从字符串结尾开始指定位置
- 截取长度,默认直到字符串的结尾;正数,从开始到长度,截至到最后一个字符;负数,从字符串后倒数的之前,起始位置之后的所有内容,长度相当于,字符串的总长度 - 起始位置长度 -截取长度的内容。
- 截取的内容可能存在空值
示例代码:
<?php
//目标字符串
$str = "Hello world!";
//定义开始位置
$start = 0;
//定义截取长度
$length = 3;
echo $str." 中截取的字符串为:".substr($str,$start,$length);
?>
运行结果:
6.10 PHP 其他字符串相关函数
参考官网的操作手册或搜索相关的PHP字符串函数
官方地址:https://www.php.net
7、数组
7.1 PHP 定义数组
array() 函数:创建数组,可以存放多个值
数组类型:
- 索引数组:带有数字索引的数组
- 关联数组:带有指定键的数组
- 多维数组:包含一个或多个数组的数组
示例代码:
<?php
//自动创建索引
$arr1 = array("zs","ls","ww");
//手动分配
$arr2[0] = "zs";
$arr2[1] = "ls";
$arr2[2] = "ww";
//关联数组
$arr3 = array("a"=>"21","b"=>"22","c"=>"23");
//多维数组
$arr4=array(array(1,2,3),array(4,5));
print_r($arr1);
echo "<br>";
print_r($arr2);
echo "<br>";
print_r($arr3);
echo "<br>";
print_r("<pre>");
print_r($arr4);
print_r("</pre>");
?>
运行结果:
7.2 PHP 获取数组长度
count() 函数:返回数组的长度
示例代码:
<?php
//自动创建索引
$arr1 = array("zs","ls","ww");
print_r($arr1);
echo " 其数组长度为:".count($arr1);
?>
运行结果:
7.3 PHP 数组遍历
a. 索引数组的遍历
示例代码:
<?php
//自动创建索引
$arr = array("zs","ls","ww");
for($i=0 ; $i < count($arr) ; $i++){
echo "\$arr[".$i."] = ".$arr[$i];
echo "<br>";
}
?>
运行结果:
b. 关联数组的遍历
示例代码:
<?php
//关联数组
$arr = array("a"=>"21","b"=>"22","c"=>"23");
foreach($arr as $x=>$y){
echo "key = ".$x." ; value = ".$y;
echo "<br>";
}
?>
运行结果:
c. 多维数组的遍历
示例代码:
<?php
//多维数组
$arr=array(array(1,2,3),array(4,5));
foreach($arr as $tmpkey=>$tmpval){
foreach($tmpval as $x=>$y){
echo "\$arr[".$tmpkey."] : ".$y;
echo "<br>";
}
}
?>
运行结果: