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

news2025/1/12 8:40:52

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

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

    在这里插入图片描述

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中的赋值表达式一样<%=%>,就不过多赘述。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Flask快速部署PyTorch模型

对于数据科学项目来说&#xff0c;我们一直都很关注模型的训练和表现&#xff0c;但是在实际工作中如何启动和运行我们的模型是模型上线的最后一步也是最重要的工作。 今天我将通过一个简单的案例&#xff1a;部署一个PyTorch图像分类模型&#xff0c;介绍这个最重要的步骤。 …

OAK-PoE设备故障排查详解

编辑&#xff1a;OAK中国 首发&#xff1a;oakchina.cn 喜欢的话&#xff0c;请多多&#x1f44d;⭐️✍ 内容可能会不定期更新&#xff0c;官网内容都是最新的&#xff0c;请查看首发地址链接。 ▌前言 Hello&#xff0c;大家好&#xff0c;这里是OAK中国&#xff0c;我是助手…

Linux小黑板(5):磁盘与文件系统

"这月蹦迪没我" 一、浅谈磁盘 磁盘作为计算机硬件里&#xff0c;唯一的机械设备。在数据存储的领域&#xff0c;有着不可磨灭的作用。相较于&#xff0c;保持通电情况下具有保持数据的不丢失的内存&#xff0c;磁盘能够"永久性"地存储 数据。 磁盘是计算机…

1. R语言介绍、Rstudio的基本使用、【R包的安装与使用】、帮助命令、内置数据集

课程视频链接&#xff1a;https://www.bilibili.com/video/BV19x411X7C6?p1 本笔记参照该视频&#xff0c;笔记顺序做了些调整【个人感觉逻辑顺畅】&#xff0c;并删掉一些不重要的内容 系列笔记目录【持续更新】&#xff1a;https://blog.csdn.net/weixin_42214698/category_…

【Linux】进程控制:父进程与子进程

目录1 进程创建1.1 认识fork1.2 进程创建的目的1.3 写时拷贝1.4 进程创建失败的场景2 进程退出2.1 进程退出状态2.2 进程退出的方式2.3 exit、_exit、return2.3.1 概念2.3.2 区别3 进程等待3.1 理解进程等待3.2 进程等待的方式3.2.1 wait和waitpid3.2.2 status位图结构3.3 阻塞…

【一起从0开始学习人工智能0x04】python相关AI复习【超全面】【收藏】

基础小结 数据类型&#xff1a;Numbers、String、list、tuple、dict字符编码&#xff1a;可以直接.encode&#xff08;‘utf-8’&#xff09;、.decode(ascii)循环&#xff1a;for-in迭代器、whilelist列表-最频繁的数据类型。-完成大多数集合类的数据结构实现。它支持字符&am…

十六、状态管理——Vuex(4)

本章概要 表单处理Vuex 与组合 API模块 16.8 表单处理 在表单控件上通常会使用 v-model 指令进行数据绑定&#xff0c;如果绑定的数据是 Vuex 中的状态数据&#xff0c;就会遇到一些问题。看以下代码&#xff1a; form.html <div id"app"><my-component&…

一场衍生于产业的深度变革正在上演,总结起来就是产业互联网的变革

毫无疑问的是&#xff0c;一场衍生于产业的深度变革正在上演。在这样一场深度变革之中&#xff0c;曾经看似无法改变的存在&#xff0c;有了进化的可能性&#xff1b;曾经让玩家们望而却步的领域&#xff0c;有了进军的可能性。如果对这样一场深度变革进行一次总结的话&#xf…

vanishing point detection in autopilot

1. 概述 消失点一种直观的解释是图像中的平行线的交点&#xff0c;也就如下图中路面边界绘制的直线在图像中的交点。 这样的点在自动驾驶场景下可以为解析车辆状态提供一些信息&#xff0c;比如较为常规的运用便是用于车辆的pitch角度。在传统方法中会通过如霍夫算子检测图片…

2022稳定学习年度研究进展系列报告丨精华观点总结

近年来&#xff0c;在独立分布假设的前提下&#xff0c;机器学习模型的表现越来越好。但在实际应用场景中&#xff0c;数据本身却具有很强的异质性和差异性&#xff0c;这就对模型的泛化能力产生了较高的要求。为了解决分布外泛化问题&#xff0c;稳定学习应运而生。12月28日&a…

Python计算机视觉:人脸识别

讲明一下:并没有实现人脸识别的算法,只是利用人脸特征文件(文件从官网上下载),从而进行人脸识别,总感觉识别出来的效果还是有问题的,如:图片最好是人脸的正脸。 1. 人脸特征文件下载 直接去github或者gitee(建议gitee)上去搜索opencv即可,如下: 选择第一个直接进入即…

一篇文章带你了解——Linux中 文件权限 和 粘滞位的 概念 / 作用 及 实现方法

粘滞位首言用户权限文件权限文件类型分类文件访问者的分类实际解读文件权限文件权限设置方法为啥要有文件权限为啥要有粘滞位粘滞位的好处如何添加粘滞位首言 要了解粘滞位&#xff0c;首先得了解文件及用户权限 用户权限 Linux下有两种用户&#xff1a;超级用户&#xff08…

共享内存原理与使用

共享内存是System V版本的最后一个进程间通信方式。共享内存&#xff0c;顾名思义就是允许两个不相关的进程访问同一个逻辑内存&#xff0c;共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一…

vite学习详解

简介 前言 之前vite2刚出的时候其实已经自学过一波&#xff0c;但是老实说学起来完全不入脑&#xff0c;一方面本来这方面的基础就很差&#xff08;指项目配置&#xff09;&#xff0c;另一方面学的时候没有跟着去动手&#xff0c;纯理论的学那完全就是越看越困。最后就是急躁…

java书店带商家商城书店多单商书店系统源码

简介 Java ssm开发的多商家书店商城&#xff0c;用户可以浏览商品&#xff0c;加入购物车&#xff0c;直接下单支付&#xff0c;在我的个人中心里可以管理自己的订单&#xff0c;收货地址&#xff0c;编辑资料等&#xff0c;还可以申请开店&#xff0c;店铺开通后可以发布商品…

C++--list

前言 这篇文章对于理解封装是非常有帮助的&#xff0c;list的底层是双向链表结构&#xff0c;我们在学习数据结构是就已经学过了双向链表&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。因为list独特的结…

nsis打包程序自动生成的快捷方式打不开

nsis 打包程序自动生成的快捷方式打不开 一: 问题描述: nsis 打包程序自动生成的快捷方式打不开, 报的是: 打不开数据库 , 但是在目录下双击exe 是能够打开的 一: 问题推导: 我是先右击自动生成的快捷方式 选择打开文件所在位置, 我发现确实是 我想要那个exe 的所在位置然后…

Zynq PL端调用PS端的时钟

ZYNQ PS端最多可以分配4个时钟供给PL端使用&#xff0c;见下图。 本文的目的&#xff1a;在XCZU21DR环境下&#xff0c;PS给PL提供一个100MHz的时钟&#xff0c;PL端根据此时钟产生1S信号&#xff0c;点亮LED。 添加&配置Zynq UltraScale MPSoc IP 双击该IP&#xff0c;在…

【C++】C++入门知识(一)

作者&#xff1a;一个喜欢猫咪的的程序员 专栏&#xff1a;《C》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 目录 1.C关键字 2.命名空间 2.1局部变量和全局变量 2.2命名空间的概念及使用 2.3…

本硕985计算机,34岁的字节大头兵,上司很器重我,给我加薪不少,但国企也欢迎我,好犹豫该不该去国企!...

互联网VS国企&#xff0c;该怎么选&#xff1f;这是一位34岁的字节程序员面临的选择&#xff1a;在头条是2-2大头兵&#xff0c;本硕985计算机&#xff0c;国企还是比较欢迎他的。原本的想法是在私企干几年&#xff0c;如果干不成管理就去国企。如今没当成管理&#xff0c;但上…