php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02

简介: 本文是第二天的PHP学习笔记,涵盖了PHP中运算符的使用、类型转换方式,以及打印输出语句的特点,展示了其相较于其他编程语言的一些特殊之处。

php运算符

  • 1.php运算符与其他高级语言相同的部分

    算术运算符(+,-,*,/,%),递增递减运算符(--$a,++$a,$a--,$a++),赋值运算符(+=,-=,*=,/=,%=,.=),比较运算符(==,===,!=,<>,>,<,>=,<=),逻辑运算符(&&,and,||,or,!,xor)条件运算符(表达式1?表达式2:表达式3),位运算符(&,|,^,~,>>,<<)与其他高级语言基本保持一致。

    这里需要说明的就是.=这个赋值运算符,php中的字符连接运算符为 .点运算符。

    <?php
        $a = "123";
        $b ="abc";
        $a .= $b;
        echo $a;// 123abc 
    ?>
    
  • 2.php运算符的一些特殊部分

    • 字符连接运算符.( 之前java ,js 都是 + )

    • 错误抑制运算符@

      因为php表达式产生错误时,会直接将错误提示信息反馈到网页上面,然后为了解决这个问题,不显示的将错误反馈到页面上,就出现了错误抑制运算符@。

      使用抑制运算符的好处:1.避免信息外露,造成系统漏洞 2.美观,错误信息可能会导致页面混乱。

                  <?php
                      echo "<br/>";
                      $a =(3/0); //产生0除异常
                      echo $a;    // 将错误信息显示的展示到网页上面        
                  ?>
      

      在这里插入图片描述

                  <?php
                      echo "<br/>";
                      @$a =(3/0); //产生0除异常
                      echo $a;    // 不会将错误信息展示到网页上        
                  ?>
      

      在这里插入图片描述

    • 类型运算符 instanceof

      php提供了类型运算符,用于判断某个对象是否是某个类的对象。(这个与java一致)

              <?php 
                  class Student{
             
      
                  }
                  class Teacher{
             
      
                  }
                  $p1 = new Student();
                  $p2 = new Teacher();
                  var_dump($p1 instanceof Student);//(bool)true
                  var_dump($p2 instanceof Student);//(bool)false
              ?>
      
    • 执行运算符 `(反引号)

      执行运算符,使用反引号,并且将反引号中的字符串的内容,作为操作系统的命令来执行,并且返回该系统命令的执行结果。

```php
              <?php 
                      $cmd = `java -version`;//查找当前系统中jdk的版本
                    print($cmd);//打印输出黑窗口信息
              ?>
```

![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a858d1c4524b369403e0e78f34d6d1f3.png)

php的类型转换

php的类型转换,同样分为类型自动转换(高精度到低精度)和强制类型转换(低精度到高精度)。

  • 类型自动转换
    • 布尔型参与算术运算时,true --> 1,false–>0 (布尔型转换为整型)。
    • 浮点型运算则将整数转换为浮点型,然后再进行算术运算。
    • 在算术运算时,如果字符串是以数字开头的,那么它就会被当做一个数字来处理。例如字符串"123.5" 就是数字 123.5
    • 在进行字符串拼接时,整数,浮点数被转换为字符串型数据。
    • 逻辑运算时,空字符串"“、字符串0"0”,整数0,浮点数0,NULL,空数组将被转换为 布尔型false,其他数据被转换为 true。
  • 类型强制转换

    • 1.通过(数据类型)$a 的方式进行强制类型转换(与Java一样)。

    • 2.通过内置类型转换函数 intval(),floatval(),strval() 来强转。

      | 函数名及语法格式 | 函数功能 |
      | --- | --- |
      | int intval (mixed var) | 返回变量或常量var的整数值 |
      | float floatval (mixed var) | 返回变量或常量var的浮点数值 |
      | string strval (mixed var) | 返回变量或常量var的字符串值 |

    • 3.使用通用类型转换函数 settype()。

      function settype(mixed &$var, #[ExpectedValues(["bool", "boolean", "int", "integer", "float", "double", "string", "array", "object", "null"])] string $type): bool {
             }
      

php打印输出语句

  • 1.echo,print ,printf

    echo 和 print 输出的是没有经过格式化的字符串,printf 输出的是格式化后的字符串。

    echo 可以一次性输出多个字符串,每个字符串之间用逗号隔开即可。echo前不能使用错误抑制运算符。

    print 和 printf 只能输出单个的字符串

    printf() printf(string $format, mixed ...$values)

  • 2.print_r()函数

    使用print_r()函数时输出数组中的元素或者对象中的成员变量时,会按照 “键=>值” 或者 "成员变量名=>值 "的方式来输出。

    <?php
    
         class Student{
         
             public $studentName = "叶秋";
             public $sid ="2020040413";
         }
         $st1 =new Student();
         print_r($st1);//  Student Object (  [studentName] => 叶秋 [sid] => 2020040413 )
         $colors = array("red","blue","black");
         print_r($colors);// Array ([0] => red,[1] => blue,[2] => black)
    ?>
    
  • 3.<?= =?>

    输出运算符 <?= =?> 其实与jsp中的赋值表达式一样<%=%>,就不过多赘述。


相关文章
|
3月前
|
程序员 Go PHP
为什么大部分的 PHP 程序员转不了 Go 语言?
【9月更文挑战第8天】大部分 PHP 程序员难以转向 Go 语言,主要因为:一、编程习惯与思维方式差异,如语法风格和编程范式;二、学习成本高,需掌握新知识体系且面临项目压力;三、职业发展考量,现有技能价值及市场需求不确定性。学习新语言虽有挑战,但对拓宽职业道路至关重要。
93 10
|
3月前
|
存储 Java 数据库连接
php学习笔记-代码基本语法-day01
本文是关于PHP编程语言的基础语法学习笔记,内容包括PHP的介绍、注释风格、数据类型、命名规范、常量和变量的使用,以及变量和常量相关的常用函数。文中详细解释了PHP的基本语法元素和一些易混淆的概念,如传值赋值与传址赋值、可变变量,以及如何检查变量是否已定义或为空。
php学习笔记-代码基本语法-day01
|
3月前
|
JavaScript 前端开发 安全
php学习笔记-普通表单参数提交获取及页面的重定向和一个登录小demo-day05
本文介绍了PHP中普通表单参数的提交获取、页面重定向的方法,并通过一个登录示例演示了表单参数的封装和页面跳转处理。
|
1月前
|
PHP 容器
03 PHP语言基础知识
路老师的PHP教程系列,带你深入学习PHP语言。从常量、变量、操作符到表达式和函数,全面覆盖基础知识,助你快速入门并掌握核心技术。每天坚持学习,轻松成为PHP高手!
31 2
|
3月前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
3月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
3月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
3月前
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
3月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
60 10
|
3月前
|
IDE 关系型数据库 PHP
php语言学习
【9月更文挑战第1天】php语言学习
40 3