php字符串变量
字符串变量主要用于存储并处理文本。
php中的字符串变量
字符串变量用于包含有字符的值。在创建字符串之后,我们就可以进行操作,可直接再函数中使用字符串或者把他存储在变量中。例如:
当赋值一个文本值给一个变量时,需要将文本值加上单引号或者双引号
以下是php字符串所能进行的操作,主要使用两种方式,分别是运算符和函数。
php并置运算符
字符串只有一个运算符,就是并置运算符(.),用于将两个字符串值连接起来。
上面这个实例中第一句echo中我在C D中间增加了空格,所以有两个并置运算符,第二句我将空格删除后运用两个并置运算符和第三句用一个并置运算符是一样的效果。
php strlen()函数
strlen()函数返回值为字符串的长度(字符数),有时我们知道字符长度会有用处,比如如果我们要创建一个数组来保存字符串内的每个字符,这时我们知道字符串长度就可以更好的开辟数组大小。
空格也算一个字符!
strlen()通常用在循环和其他函数中,因为确定字符串合适结束很重要,例如我们需要在循环中在字符串的最后一个字符串之后结束循环。
php strpos()函数
strpos()函数用于在字符串内查找一个字符或者一段指定的文本。如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回FALSE,如:在字符串“hello world”中查找文本“world”,则返回 6(之所以是6而不是7的原因是,字符串中第一个字符的位置是0,而不是1),如果在该文本查找 ABC,就会返回值为FALSE.不输出。
php 运算符
php运算符主要有两种赋值运算符和算术运算符。
php算术运算符
实例输出:
很奇怪的是在许多编程语言中都有整除运算,但是现在没有,其实在前期的版本中没有整除运算符,在php7+版本中新增了整除运算符intdiv(),如:
php赋值运算符
在php中,基本的赋值运算符是"=",意味着做操作数被设置为右侧表达式的值,也就是说,"$x = 5"的值是5.拓展的赋值运算符为:
实例输出:
php递增/递减运算符
实例运行结果:
php比较运算符
比较运算符用于比较两个值:
php逻辑运算符
php数组运算符
实例:
三元运算符
三元运算符就是另一个条件运算符,符号记为 ?:
语法:(expr1) ? (expr2) : (rxpr3)
对expr1求值为true时的值为expr2,在expr1求值为false时的值为expr3。从php5.3版本开始,可以省略三元运算符中间的部分。表达式为expr1 ?: expr3 在expr1求值为true时返回expr1,否则返回expr3.
这个实例我比较奇怪,我看了许多的资料,对于PHP_EOL是一种跨平台的换行符但是这边我却不能换行,只是在两个输出之间增加了一个空格,我也在网上找过一些答案,发现解释不是很清楚,不是很能理解,只是自己学的这门课程所以对这边不是很理解,希望有知道的大神能帮我解答一下,感谢各位!
言归正传,php7以后的版本多了一盒null合并运算符,记为 ?? ,如:
<?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>
组合比较符(适用于php7+版本)
php7+支持组合比较符,也称作太空船操作符,符号为 <=> 组合比较运算符轻松实现两个变量的比较,当然不仅限于数值类数据的比较,语法如下:
$c = $a <=> $b;
输出结果如下:
- 若 a > a> a>b,则$c的值为1
- 若 a = = a== a==b,则$c的值为0
- 若
a
<
a<
a<b,则$c的值为-1
实例如下:
运算符优先级
一下运算符的优先级按照从高到低列出,同一行的运算符具有相同的优先级,此时结合方向决定求值顺序。
注:左 = 从左到右,右 = 从右到左
运算符优先级中,or和|| ,&&和and都是逻辑运算符,效果一样,但是其优先级却不一样
括号的使用
我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。
在运算符中看似挺简单的,里面还有一些内容没懂,例如PHP_EOL和上面这个or和||,两者,为什么会出现不同集热锅,虽然运算优先级不同,但运算方向都是从左到右,结果不一样就不是很能理解。