【PHP学习】PHP学习笔记 2

PHP 学习笔记(2)

提示:学习过程中所记录的一些PHP内容



三、PHP 基本语法

6、字符串

6.1 PHP 字符串变量

定义字符串:$变量名 = “ 字符串内容 ”;
示例代码:

<?php
	//定义字符串
	$str1 = "341";
	//字符串输出
	var_dump($str1);
?>

运行结果:
PHP 字符串变量

6.2 PHP 字符串连接

字符串的连接方式通过 “ . ” 进行连接。
示例代码:

<?php
	//定义字符串
	$str1 = "hi ";
	$str2 = "hello world!";
	//字符串输出
	echo $str1.$str2;
?>

运行结果:
PHP 字符串连接

6.3 PHP 计算字符串的长度

strlen() 函数:返回字符串的长度(字节数)
示例代码:

<?php
	$str = "hello world!";
	echo $str." 的长度为:".strlen($str);
?>

运行结果:
PHP 计算字符串的长度

6.4 PHP 查找字符串的内容

strpos() 函数:在字符串中查找一段字符。

注意:

  • 返回为第一个匹配的字符位置
  • 当没有找到时,返回FALSE

示例代码:

<?php
	//定义要查找的对象
	$str = "hello world!";
	//定义查的内容
	$insetStr = "wor";
	//定义从什么地方开始查,默认从头开始查
	$start = 0;
	echo "从 ".$str." 中查找 ".$insetStr." 的起始位置为 ".strpos($str,$insetStr,$start);
?>

运行结果:
PHP 查找字符串的内容

6.5 PHP 字符串反转

strrev() 函数:字符串反转,使得原有的字符串反向输出。

注意:

  • 汉字可能转化出现一定的问题

示例代码:

<?php
	$str = "hello world!";
	echo "原本的字符串:".$str;
	echo "<br>";
	echo "反转后的字符串:".strrev($str);	
?>

运行结果:
PHP 字符串反转

6.6 PHP 字符串替换

str_replace() 函数:用于字符串的替换

注意:

  • 若在目标对象中没有查到所查询的内容,则不会发生替换
  • 替换只是发生在函数内,不会影响到原有的字符串,如果需要修改原字符串需要将结果赋值给原来的字符串的变量即可

示例代码:

<?php
	//定义查找的对象
	$str1 = "world";
	//定义替换的对象
	$str2 = "cat";
	//定义要求改的目标对象
	$str3 = "hello world!";
	
	echo "原本的字符串为:".$str3;
	echo "<br>";
	echo "替换之后的字符串为:".str_replace($str1,$str2,$str3);
?>

运行结果:
PHP 字符串替换

6.7 PHP 字符串分割

explode() 函数:让字符串按照指定的要求进行分割

注意:

  • 分割完成,由字符串会变成数组
  • 如果定义的分割标准中,没有在分割对象中查出,则返回整个字符串数组
  • 分割的结果,一定不包含分割标准的内容

示例代码:

<?php
	//定义分割标准
	$exp = " ";
	//分割对象
	$str = "hello world!";
	
	var_dump(explode($exp,$str));
?>

运行结果:
PHP 字符串分割

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 "第二个字符串小于第一个";
	}
?>

运行结果:
PHP 字符串比较大小

6.9 PHP 字符串大小写转化

  • 大写转化为小写:strtolower()
  • 小写转化为大写:strtoupper()

示例代码:

<?php
	//操作对象
	$str = "Hello world!";
	
	//小写转化为大写
	echo $str." 小写内容转化为大写内容,结果为:".strtoupper($str);
	echo "<br>";
	//大写转化为小写
	echo $str." 大写内容转化为小写内容,结果为:".strtolower($str);
?>

运行结果:
PHP 字符串大小写转化

6.10 PHP 字符串截取

substr() 函数:从目标字符串中截取一段内容

注意:

  • 起始位置,正数:从头开始的位置;0:从开始的第一个字符处理;负数:从字符串结尾开始指定位置
  • 截取长度,默认直到字符串的结尾;正数,从开始到长度,截至到最后一个字符;负数,从字符串后倒数的之前,起始位置之后的所有内容,长度相当于,字符串的总长度 - 起始位置长度 -截取长度的内容。
  • 截取的内容可能存在空值

示例代码:

<?php
	//目标字符串
	$str = "Hello world!";
	//定义开始位置
	$start = 0;
	//定义截取长度
	$length = 3;
	echo $str." 中截取的字符串为:".substr($str,$start,$length);
?>

运行结果:
PHP 字符串截取

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);
?>

运行结果:
PHP 获取数组长度

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>";
		}
	}
?>

运行结果:
多维数组的遍历

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值