2022-11-20 PHP笔记2(输出语句、EOF界定符、数据类型、类型比较、常量、字符串变量、运算符)

目录

1.echo 和 print 语句(两个基本输出方式)

2.EOF(heredoc)定界符 使用说明

3.数据类型

1)String(字符串)

2)Integer(整型)

3)Float(浮点型)

4)Boolean(布尔型)

5)Array(数组)

6)Object(对象)

7)NULL(空值)

8)Resource(资源类型)

4.PHP 类型比较

PHP中 比较 0、false、null

5.PHP 5 常量

设置 PHP 常量

常量是全局的

6.PHP 字符串变量

PHP 并置运算符

PHP strlen() 函数

PHP strpos() 函数

7.PHP 运算符

1)PHP 算术运算符

2)PHP 赋值运算符=

3)PHP 递增/递减运算符?

4)PHP 比较运算符

5)PHP 逻辑运算符

6)PHP 数组运算符

7)三元运算符


1.echo 和 print 语句(两个基本输出方式)

区别:

  • echo - 可以输出一个或多个字符串
  • print - 只允许输出一个字符串(简单类型变量),如int、string,返回值总为 1(int类型)
  • print_r - 可以输出复杂类型变量的值,如数组、对象,返回值为true(bool类型)

提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

echo/print 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()  print或print()。print_r()

显示字符串(字符串可以包含 HTML 标签)、变量

例:

 <?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota"); //数组array()

echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";  //大括号,里面是变量和索引
?>

学习 PHP
在 RUNOOB.COM 学习 PHP
我车的品牌是 Volvo

2.EOF(heredoc)定界符 使用说明(字符串定义方式)

PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。

使用概述:

  • 1. 结尾接分号,否则编译通不过。
  • 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致
  • 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  • 4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  • 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。

例:

  • <?php
    echo <<<EOF
            <h1>我的第一个标题</h1>
            <p>我的第一个段落。</p>
    EOF;
    // 结束需要独立一行且前后不能空格
    ?>

    注意:

    1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。

    2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。

    3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,例:

    <?php
    $name="runoob";
    $a= <<<EOF
            "abc"$name
            "123"
    EOF;
    // 结束需要独立一行且前后不能空格
    echo $a;
    ?>

    4.heredoc可以用来输出大段的html和JavaScript脚本

       5.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;

3.数据类型

1)String(字符串)

如:$x = "Hello world!";

  • 每个字符占用一个字节
  • 三种定义字符串方式:' ' ,  " " , <<<(即EOF界定符)
    <?php
        $i = '12345';
        echo"$i";  //双引号输出实际值,即:12345
        echo'$i';  //单引号输出里面的字符串,即:$i
        echo<<<std  //开始标记<<<std和结束标记std;内容要相同
        <p> $i </p>
        std;
    
    ?>

2)Integer(整型)

整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
 <!DOCTYPE html>
<html>
<body>

<?php 
$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>   

</body>
</html>

int(5985)
int(-345)
int(140)
int(39)

注:

var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构

例:


<?php
$b = 3.1;
$c = true;
var_dump($b, $c);
?>
float(3.1)
bool(true)

3)Float(浮点型)

浮点数是带小数部分的数字,或是指数形式。

4)Boolean(布尔型)

布尔型可以是 TRUE 或 FALSE。

$x=true;
$y=false;

布尔型通常用于条件判断。

5)Array(数组)

数组可以在一个变量中存储多个值。

 <!DOCTYPE html>
<html>
<body>

<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>   

</body>
</html>

运行结果:

array(3) { "Toyota"[0]=> string(5)

"Volvo" [1]=> string(3)

"BMW" [2]=> string(6) }

6)Object(对象)

用于存储数据。

在 PHP 中,对象必须声明。

首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构

7)NULL(空值)

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。

NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。

被赋予空值的三种情况:1->没被赋任何值;2->被赋值null; 3->被unset()函数处理过

可以通过设置变量值为 NULL 来清空变量数据:

 <!DOCTYPE html>
<html>
<body>

<?php
$x="Hello world!";
$x=null;
var_dump($x); >>NULL  --(是数据类型,没被赋任何值)
?>

</body>
</html>

NULL

8)Resource(资源类型)

PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。

常见资源数据类型有打开文件、数据库连接、图形画布区域等。

由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

使用 get_resource_type() 函数可以返回资源(resource)类型:

get_resource_type(resource $handle): string

此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 resource,将产生错误。

<?php
$c = mysql_connect();
echo get_resource_type($c)."\n";
// 打印:mysql link

$fp = fopen("foo","w");
echo get_resource_type($fp)."\n";
// 打印:file

$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
// 打印:domxml document
?>

4.PHP 类型比较

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
<?php
if(42 == "42") {
    echo '1、值相等';
}
 
echo PHP_EOL; // 换行符
 
if(42 === "42") {
    echo '2、类型相等';
} else {
    echo '3、类型不相等';
}
?>
1、值相等
3、类型不相等

PHP中 比较 0、false、null

<?php
echo '0 == false: ';
var_dump(0 == false);
echo '0 === false: ';
var_dump(0 === false);
echo PHP_EOL;
echo '0 == null: ';
var_dump(0 == null);
echo '0 === null: ';
var_dump(0 === null);
echo PHP_EOL;
echo 'false == null: ';
var_dump(false == null);
echo 'false === null: ';
var_dump(false === null);
echo PHP_EOL;
echo '"0" == false: ';
var_dump("0" == false);
echo '"0" === false: ';
var_dump("0" === false);
echo PHP_EOL;
echo '"0" == null: ';
var_dump("0" == null);
echo '"0" === null: ';
var_dump("0" === null);
echo PHP_EOL;
echo '"" == false: ';
var_dump("" == false);
echo '"" === false: ';
var_dump("" === false);
echo PHP_EOL;
echo '"" == null: ';
var_dump("" == null);
echo '"" === null: ';
var_dump("" === null);
0 == false: bool(true)
0 === false: bool(false)

0 == null: bool(true)
0 === null: bool(false)

false == null: bool(true)
false === null: bool(false)

"0" == false: bool(true)
"0" === false: bool(false)

"0" == null: bool(false)
"0" === null: bool(false)

"" == false: bool(true)
"" === false: bool(false)

"" == null: bool(true)
"" === null: bool(false)

5.PHP 5 常量

常量名不需要加 $ 修饰符 

1)声明 PHP 常量

设置/声明常量,使用 函数define()constant()  --使用效果与define一致但更灵活、defined()  --判断函数是否被定义,被定义返回1,不被定义返回2

函数语法如下:

define ( string $name , mixed $value [, bool $case_insensitive = false ] )

即:define("常量名","常量的值",true(大小写不敏感)/false(默认值、大小写敏感))

调用常量名称输出的是常量的值

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE(即与大小写无关),该常量则大小写不敏感。默认是大小写敏感的。

<?php
    // 区分大小写的常量名
    define("GREETING", "欢迎访问 Runoob.com",false);
    echo GREETING;    // >>"欢迎访问 Runoob.com" --常量直接调用
    echo '<br>';
    echo greeting;   // >>"greeting",但是有警告信息,表示该常量未定义
    echo(defined("GREETING")).'<br>'; //defined()判断函数是否被定义,被定义返回1,不被定义返回2
?>

<?php
// 不区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com", true);
echo greeting;  // 输出 "欢迎访问 Runoob.com"
?>

常量是全局的

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。


<?php
define("GREETING", "欢迎访问 Runoob.com");
 
function myTest() {
    echo GREETING;
}
 
myTest();    // 输出 "欢迎访问 Runoob.com"
?>

2)预定义常量(即魔术常量) (PHP笔记4里面)

6.PHP 字符串变量

如:$txt="Hello world!";

PHP 并置运算符

在 PHP 中,只有一个字符串运算符。

并置运算符 (.) 用于把两个字符串值连接起来。

 <?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?> 

Hello world! What a nice day!

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。

7.PHP 运算符

在 PHP 中,赋值运算符 = 用于给变量赋值。

在 PHP 中,算术运算符 + 用于把值加在一起

1)PHP 算术运算符

加减乘除以及取余和python同

-x设置负数取 x 的相反符号
<?php
$x = 2;
echo -$x;
?>
-2
~x取反

x 取反,按二进制位进行"取反"运算。运算规则:

~1=-2;   
~0=-1;
<?php
$x = 2;
echo ~$x;
?>
-3
a . b并置连接两个字符串"Hi" . "Ha"HiHa

PHP7+ 版本新增整除运算符 intdiv(),该函数返回值为第一个参数除于第二个参数的值并取整(向下取整),使用实例:


<?php
var_dump(intdiv(10, 3));
?>

int(3)

2)PHP 赋值运算符= -=  +=  *=  //=  %=  .=(将右边的字符加在左边)

加减乘除以及取余和python同

x %= yx = x % y模(除法的余数)
a .= ba = a . b连接两个字符串

<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world! 
 
$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world! 
?>

3)PHP 递增/递减运算符

运算符名称描述
++ x预递增x 加 1,然后返回 x
x ++后递增返回 x,然后 x 加 1
-- x预递减x 减 1,然后返回 x
x --后递减返回 x,然后 x 减 1

<?php
$x=10; 
echo ++$x; // 输出11
 
$y=10; 
echo $y++; // 输出10
 
$z=5;
echo --$z; // 输出4
 
$i=5;
echo $i--; // 输出5
?>

4)PHP 比较运算符

运算符名称描述实例
x == y等于如果 x 等于 y,则返回 true5==8 返回 false
x === y绝对等于如果 x 等于 y,且它们类型相同,则返回 true5==="5" 返回 false
x != y不等于如果 x 不等于 y,则返回 true5!=8 返回 true
x <> y不等于如果 x 不等于 y,则返回 true5<>8 返回 true
x !== y不绝对等于如果 x 不等于 y,它们类型不相同,则返回 true5!=="5" 返回 true
x > y大于如果 x 大于 y,则返回 true5>8 返回 false
x < y小于如果 x 小于 y,则返回 true5<8 返回 true
x >= y大于等于如果 x 大于或者等于 y,则返回 true5>=8 返回 false
x <= y小于等于如果 x 小于或者等于 y,则返回 true5<=8 返回 true
 <!DOCTYPE html>
<html>
<body>

<?php
$x=100; 
$y="100";

var_dump($x == $y); // returns true because values are equal
echo "<br>";
var_dump($x === $y); // returns false because types are not equal
echo "<br>";
var_dump($x != $y); // returns false because values are equal
echo "<br>";
var_dump($x !== $y); // returns true because types are not equal
echo "<br>";

$a=50;
$b=90;

var_dump($a > $b);
echo "<br>";
var_dump($a <  $b);
?>   

</body>
</html>

bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)

5)PHP 逻辑运算符

运算符名称描述实例
x and y如果 x 和 y 都为 true,则返回 truex=6
y=3
(x < 10 and y > 1) 返回 true
x or y如果 x 和 y 至少有一个为 true,则返回 truex=6
y=3
(x==6 or y==5) 返回 true
x xor y异或如果 x 和 y 有且仅有一个为 true,则返回 truex=6
y=3
(x==6 xor y==3) 返回 false
x && y如果 x 和 y 都为 true,则返回 truex=6
y=3
(x < 10 && y > 1) 返回 true
x || y如果 x 和 y 至少有一个为 true,则返回 truex=6
y=3
(x==5 || y==5) 返回 false
! x如果 x 不为 true,则返回 truex=6
y=3
!(x==y) 返回 true

6)PHP 数组运算符

运算符名称描述
x + y集合x 和 y 的集合
x == y相等如果 x 和 y 具有相同的键/值对,则返回 true
x === y恒等如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y不相等如果 x 不等于 y,则返回 true
x <> y不相等如果 x 不等于 y,则返回 true
x !== y不恒等如果 x 不等于 y,则返回 true

7)三元运算符(条件运算符)"?:"

(expr1) ? (expr2) : (expr3) ;

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。


<?php
// 普通写法
    $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
    echo $username, PHP_EOL;
 
// PHP 5.3+ 版本写法
    $username = $_GET['user'] ?: 'nobody';
    echo $username, PHP_EOL;
?>

8)组合比较符(PHP7+)<=>

$c = $a <=> $b;
  • 如果 $a > $b, 则 $c 的值为 1
  • 如果 $a == $b, 则 $c 的值为 0
  • 如果 $a < $b, 则 $c 的值为 -1

9)运算符优先级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值