php(Hypertext Preprocessor)学习笔记(二)

PHP常量

  • 常量是一个简单值的标识符,常量值被定义后,在脚本的其他任何地方都不能被改变。
  • 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
  • 常量在整个脚本中都可以使用。

设置 PHP 常量

  • 使用 define() 函数,函数语法为:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
  • 该函数有三个参数:
    name:必选参数,常量名称,即标志符。
    value:必选参数,常量的值。
    case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
  • 例:区分大小写的常量
<?php
// 区分大小写的常量名
define("morning", "早上好呀");
echo morning;    // 输出 "早上好呀"
echo '<br>';
echo MORNING;   // 输出 "MORNING"
?>
  • 例:不区分大小写的常量
<?php
// 区分大小写的常量名
define("morning", "早上好呀",true);
echo morning;    // 输出 "早上好呀"
echo '<br>';
echo MORNING;   // 输出 "早上好呀"
?>
  • 常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
  • 例:在函数内使用常量,即便常量定义在函数外也可以正常使用常量。
<?php
define("morning", "早上好呀");
 
function Test1() {
    echo morning;
    }
 
Test1();    // 输出 "早上好呀"
?>

PHP 字符串变量

  • 字符串变量用于包含有字符的值、用于存储并处理文本。
  • 在创建字符串之后,可以直接在函数中使用字符串,或者把它存储在变量中。
  • 例:hello word字符串输出
<?php
$txt="Hello world!";
echo $txt;
?>

字符串连接

  • 在 PHP 中,只有一个字符串运算符 (.) ,用于把两个字符串值连接起来。
  • 例:将两个字符串连接起来:
<?php
$txt1="Morning!";
$txt2="早上好呀!";
echo $txt1 . $txt2;
?>
  • 运行结果:
Morning!早上好呀!
  • 中间加个空格,分开一点好了:
<?php
$txt1="Morning!";
$txt2="早上好呀!";
echo $txt1 . " " . $txt2;
?>
  • 运行结果:
Morning! 早上好呀!

PHP strlen() 函数

  • strlen() 函数返回字符串的长度(字节数)。
<?php
echo strlen("Hello world!");
?>
  • 运行结果:12

PHP strpos() 函数

  • strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
  • 如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。
  • 如果未找到匹配,则返回 FALSE。
<?php
echo strpos("Hello world!","world");
?>
  • 运行结果:6
  • 字符串 “world” 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。

PHP 所有字符串函数 String 函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PHP 运算符

  • 赋值运算符 “ = ” 用于给变量赋值。
  • 算术运算符 “ + ” 用于把值加在一起。

PHP 算术运算符

在这里插入图片描述

  • 用代码尝试一下:
<?php 
$x=20; 
$y=6;
echo ($x + $y); // 输出26
echo '<br>';  // 换行
 
echo ($x - $y); // 输出14
echo '<br>';  // 换行
 
echo ($x * $y); // 输出120
echo '<br>';  // 换行
 
echo ($x / $y); // 输出3.3333333333333
echo '<br>';  // 换行
 
echo ($x % $y); // 输出2
echo '<br>';  // 换行
 
echo -$x;// 输出-20
?>
  • 运行结果为:
    在这里插入图片描述

整除运算符 intdiv()

  • PHP7+ 版本新增整除运算符 intdiv()
<?php
var_dump(intdiv(10, 3));
?>
  • 运行结果为int(3)

PHP 赋值运算符

在这里插入图片描述

  • 用代码尝试一下:
<?php 
$x=10; 
echo $x; // 输出10
echo '<br>';// 换行
 
$y=20; 
$y += 100;
echo $y; // 输出120
echo '<br>';// 换行
 
$z=50;
$z -= 25;
echo $z; // 输出25
echo '<br>';// 换行
 
$i=5;
$i *= 6;
echo $i; // 输出30
echo '<br>';// 换行
 
$j=10;
$j /= 5;
echo $j; // 输出2
echo '<br>';// 换行
 
$k=15;
$k %= 4;
echo $k; // 输出3
?>
  • 运行结果为:
    在这里插入图片描述
  • 两个不同运算符连接Hello word:
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world! 
 
$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world! 
?>

PHP 递增/递减运算符

在这里插入图片描述

  • 用代码尝试一下:
<?php
$x=10; 
echo ++$x; // 输出11
echo '<br>';// 换行
 
$y=10; 
echo $y++; // 输出10
echo '<br>';// 换行
 
$z=10;
echo --$z; // 输出9
echo '<br>';// 换行
 
$i=10;
echo $i--; // 输出10
echo '<br>';// 换行
?>
  • 运行结果为:
    在这里插入图片描述

PHP 比较运算符

在这里插入图片描述

  • 用代码尝试一下:
<?php
$x=100; 
$y="100";
 
var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";
 
$a=50;
$b=100;
 
var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>
  • 运行结果为:
    在这里插入图片描述

PHP 逻辑运算符

在这里插入图片描述

PHP 数组运算符

在这里插入图片描述

三元运算符 “?:”

  • 语法格式:(expr1) ? (expr2) : (expr3)
  • 对 expr1 求值,为 TRUE 时值为 expr2,为 FALSE 时值为 expr3。
  • PHP 5.3+以上,可以省略三元运算符中间那部分。
  • 表达式: expr1 ?: expr3
  • 在 expr1 求值,为 TRUE 时返回 expr1,否则返回 expr3。
<?php
$test = '菜鸟教程';
// 普通写法
$username = isset($test) ? $test : 'nobody';
echo $username, PHP_EOL;
 
// PHP 5.3+ 版本写法
$username = $test ?: 'nobody';
echo $username, PHP_EOL;
?>
  • 通过判断 $_GET 请求中含有 user 值,如果有返回 $_GET[‘user’],否则返回 nobody:
  • isset :检测变量是否已设置并且非 NULL
  • 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。
  • PHP_EOL :换行符

合并运算符 ??

  • PHP7+ 版本多了一个 NULL 合并运算符 ??
  • $username = $_GET['user'] ?? 'nobody';
  • `如果 $_GET[‘user’] 不存在返回 ‘nobody’,否则返回 $_GET[‘user’] 的值
$username = $_GET['user'] ?? 'nobody';
// 这两个的意思是一样的
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

组合比较符

  • PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。
  • 组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。
  • 语法格式为:$c = $a <=> $b;
  • 如果 $a > $b, 则 $c 的值为 1。
  • 如果 $a == $b, 则 $c 的值为 0。
  • 如果 $a < $b, 则 $c 的值为 -1。
<?php
// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
 
// 浮点型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

运算符优先级

  • 下图为优先级从高到低列出了运算符。
  • 同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。
  • 左:从左到右,右 :从右到左。
    在这里插入图片描述
  • 运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。
<?php
$a = 3;
$b = false;
$c = $a or $b;
var_dump($c);          // 这里的 $c 为 int 值3,而不是 boolean 值 true
$d = $a || $b;
var_dump($d);          //这里的 $d 就是 boolean 值 true 
?>
  • // 优先级: && > = > and
  • // 优先级: || > = > or
  • 运行结果为:
    在这里插入图片描述

括号()

  • 通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。
  • 括号优先运算
<?php
$a = 1;
$b = 2;
$c = 3;
$d = $a + $b * $c;
echo $d;
echo "\n";
$e = ($a + $b) * $c;  
echo $e;
echo "\n";
?>
  • 运行结果为:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值