0

0

php中的运算符、控制结构

php中文网

php中文网

发布时间:2016-07-09 09:08:06

|

884人浏览过

|

来源于php中文网

原创

 php中的运算符

1. 赋值运算符
2. 算术运算符
3. 比较运算符
4. 字符串运算符
5. 递增运算符
6. 逻辑运算符(异或运算 xor )
7. 三元运算符
8. 位运算符 (移位运算)
10 . echo中','和'.' 的区别
9. 类型转换
1). 布尔值  --字符串
2). 字符串 -- 数字的转换
3). 字符串-- 布尔值的转换
4). 数字 - - 布尔值的转换
5). 数字 --字符串的转换

控制结构

1. if 单路分支

2. if /else 双路分支,双路分支中if/else 中的2 个代码段,必有且只有一段被执行
if/else if/else if……/else 多路分支

3. switch case ,用来比较判断的变量的多种可能值时便于用。

立即学习PHP免费学习笔记(深入)”;

XpZC新普众筹系统
XpZC新普众筹系统

XpZC新普众筹系统是以asp.net mvc+sql进行开发的众筹网站源码。新普众筹系统可以实现众筹平台的快速搭建,规范业务流程、项目募集资金、运营风险控制、资金支付结算、项目实施控制、投后管理,安全的软件系统架构和规范的项目风险控制体系,为投融资双方提供安全优质的服务,达成互利共赢。众筹类型可选择股权众筹和回报众筹;根据客户实际需求能灵活增加系统功能模块,致力于为项目人和投资人搭建一个安全、高

下载

4. while (表达式){
代码段}

5. do{
代码段;}while(表达式);

6. for(语句1;语句2;语句3){
代码段;}

语句1,先执行 且只执行1次
然后 语句2判断,如为真,则执行 代码段; ,然后执行  语句3;
再语句2判断……循环
直到语句2为假,for结束

代码展示

复制代码
  1 //==========================================
  2 
  3 //2. 算术运算                                    返回原处
  4 //
  5 //php程序如何进行加减乘除
  6 //依次是+ - 
  7 
  8 
  9 $a = 3;
 10 $b =5;
 11 $c = $a + $b;//这语句话的含义是$a+$b计算结果赋给$c
 12 echo $c,'
'; 13 echo $b-$a,'
'; 14 15 echo $a * $b,'
';//计算$a * $b的结果 赋给$c 16 echo $b/$a,'
';//计算$b/$a的结果,赋给$c 17 18 //如果是在C语言中,$b,$a,都是整型,因此计算出来的$c也是整型 19 //在php中,变量的值可以随意改变,而且变量的类型也可以改变。 20 // 21 //比如:变量$c是整型,可以突然为之赋一个浮点型值。 22 //因此php称为动态语言。 23 24 25 26 27 //----------------------------------------------------- 28 求余就是 取模 运算 返回原处 29 在计算机里计算除法的时候,算出来2个结果 30 31 商和余数 32 33 */ 34 $a = 3; 35 $b = 5; 36 $c = $b%$a; // 得1 余2 37 echo $c,'
'; 38 39 40 //小测试,判断一个数是偶数,还是奇数? 41 //可以对2 取模,余数是1,则为奇数,如果余数为0,则为奇数 42 43 $d = 3; 44 $res = $d % 2; 45 if($res == 1){ 46 echo $d,'是奇数'; 47 } 48 if($res == 0){ 49 echo $d,'是偶数'; 50 } 51 52 //上初中了,有了负数的概念 53 54 $b = -5; 55 $a = 3; 56 echo $b%$a; 57 $b = -5; 58 $a = -3; 59 echo $b%$a; 60 61 //注意:在取模运算的时, 62 //运算的正负结果,取决于被除数的符号 63 //结果的符号,和被除数的符号一致 64 //================================================ 65 66 // 比较运算符 返回原处 67 // > ,= ==,!= ,===(不仅值相等,而且类型也相等),!== 68 $a = 3; 69 $b = 2; 70 if(3 > 2){ 71 echo '3大于2','
'; 72 }else{ 73 echo '3不大于2','
'; 74 } 75 76 if($a >= $b){ // >= 意味着,$a比$b大,或者 $a 等于$b 有一个为真都行,即条件满足 77 echo '3大于等于2','
'; 78 }else{ 79 echo '3并不大于等于2','
'; 80 } 81 //----------------------------------------------- 82 83 $a = 3; 84 $b = '3'; 85 if($a === $b){ 86 echo $a,'全等于',$b,'
'; 87 }else{ 88 echo $a,'不全等于',$b,'
'; 89 } 90 91 //========================================== 92 93 $a = 3; 94 $b = true; 95 if($a == $b){ 96 echo $a,'等于',$b,'
'; 97 }else{ 98 echo $a,'不等于',$b,'
'; 99 } 100 //在不同的类型比较时 101 //php程序本身 102 // 103 //会把变量 转换成一致的类型,然后再去比较 104 // 105 //着重记以下转换 返回原处 106 //1. 布尔值 --字符串 107 //2. 字符串 -- 数字的转换 108 //3. 字符串-- 布尔值的转换 109 //4. 数字 - - 布尔值的转换 110 //5. 数字 --字符串的转换 111 // 112 //以5 ==true 比较为例 113 //的把 整型 ,转成布尔型 114 // 115 //其实有的语言中,根本就没有布尔型,都是拿1,0充当true / false 116 //0 / 0.0 这两个转换为布尔类型为false 117 //其他都是true ,负数也是true 118 119 120 121 122 //------------------------------------------- 123 //1. 布尔值 --字符串 124124 true ---'1' 125 false--- '' 126 127 //------------------------------------------- 128 //1. 字符串 --数字的转换 129 //从字符串左端开始找数字,直到第一个非数字结束,取出来的这一部分,即是转换后的值 130 //'3q'----3 131 '123asdf'---123 132 'sdfds789'----0 133 134 $num = 'sdfds789'; 135 echo $num + 0; //运算结果是0 136 137 //------------------------------------------- 138 //3. 字符串 --布尔的转换 139 //''字符串,'0',这种转换成 false 140 //其他的一概是true 141 142 143 144 if(''==false){ 145 echo '空字符串等于false'; 146 }else{ 147 echo '空字符串不等于false'; 148 } 149 150 echo '
'; 151 if('0'==false){ 152 echo '字符串0等于false'; 153 }else{ 154 echo '字符串0不等于false'; 155 } 156 157 158 //------------------------------------------- 159 //4. 字符串 --布尔的转换 160 // 只有整型的0 ,和浮点的0.0 ,转换false 161 //其他 ,甚至负数 ,也转换成true 162 163 164 165 //------------------------------------------- 166 //5. 数字 --字符串的转换 167 //直接是字面本身 168 echo '
'; 169 echo 'aaa'. 2323; 170 171 172 173 //------------------------------------------- 174 //字符串 返回原处 175 176 //在php中字符串,有一句运算,就是拼接 (echo中','和'.' 的区别) 177 178 $str1 = 'hello'; 179 $str2 = ''; 180 181 $str3 = 'world'; 182 echo $str1.$str2.$str3; 183 echo $str1,$str2,$str3; 184 185 // 新手的疑问 186 187 echo $str1.$str2.$str3; 188 //这一行是$str1,$str2,$str3在内存中拼接运算 189 //运算出一个'hello world'一个大字符串, 190 //然后echo 之,得到判断的结果 hello world 191 //========================================== 192 193 echo $str1,$str2,$str3; 194 //echo 是个语句,负责输出用的 195 //可以通过','分割 一次输出多个变量或值来 196 // 197 //综上: 198 //用' . '是先拼接,再整个输出 199 //用' , ' 是挨个儿把3个变量输出。 200 // 201 //面试时,会碰到 会问法: 202 //用' . ',用' , '那个输出的快,效率高 203 // 204 //答:当然是 ',' 输出快,效率高 206 //========================================== 207 //赋值运算符,就是 = ,作用是,把‘=’右边的值,赋给左边变量 返回原处 208 $a = 3; 209 $b = $c = 5; 210 211 212 //========================================== 213 //运算符的运算结果 214 // 215 //大家想:既然是运算,运算完之后,必须得有一个结果 ---结果值 216 //3 + 2; 运算结果5 217 // 218 //1. 比较运算符 返回原处 219 //注意 :比较去处符返回结果,,只有2个可能 true/false 220 // 221 //以$a == $b 为例,,要么等,要么不等 222 //要么是真,要么是假 223 //2 ==3;运算结果是:false 224 225 //========================================== 226 //2. 字符串运算符 返回原处 227 //字符串运算符 228 //$a.$b 229 //返回结果:拼接后的结果 230 231 //========================================== 232 //赋值运算符,返回值是多少呢? 233 $a = 3; 234 if($a = 33){ 235 echo 'aa'; 236 }else{ 237 echo 'bb'; 238 } 239 //赋值运算长符的运算结果,就是 =右边的值 240 $a = $b = $c =88 241 //过程是这样的, $b = 88先进行,赋值后返回88 242 //返回的88,再赋给$c 243 //同理 …… 244 //最终$a也赋值为88 245 // 246 // 247 //两个难点; 248 //1. 比较运算时,有一个类型转换的问题 249 //2. 凡运算,必有返回值 250 //比较运算返回布尔值 251 // 252 //赋值运算,返回赋的值本身 253 254 //========================================== 255 //6. 逻辑运算符 返回原处 256 // 257 //命题: 258 //真命题,假命题 259 // 260 //逻辑运算符:逻辑或 || or 261 //逻辑与 && and 262 263 $house = 180; 264 $car = 'BYD'; 265 266 //$res = $house && $car == 'BMW'如果这样写,谁先给结合 ,牵涉到运算优先级的问题 267 //我们推荐,在多个量进行去处的时候,需要先在一块的单元,用()包起来。如:$res = $house && ($car == 'BMW') 268 //这样可以 使程序易读,易理解 ,不容易产生歧义 269 if($res = $house && $car == 'BMW'){ 270 echo '还是可以嫁'; 271 }else{ 272 echo '再等两年'; 273 } 274 275 逻辑运算的优先级 276 && 的优先级 比 ||277 但是在开发中,不推荐写在一起,应用()包起来 278 $a = 3; 279 $b = 5; 280 if(($a==8)||($b=9)){ 281 $a++; 282 $b++; 283 } 284 echo $a,'
',$b; 285 286 //========================================== 287 288 //逻辑反 289 //一个命题如果是真命题,则其反命题,是假命题 290 //用!表示 291 292 //========================================== 293 //异或运算 xor 返回原处 294 //异或是指,两个条件必须‘一个真’,‘一个假’,才为真 295 296 $li = '男'; 297 $mei = '女'; 298 //这个异或表达的是,必须一个为男, 299 if($li == '男') xor ($mei == '男'){ 300 echo '可以结婚'; 301 }else{ 302 echo '法律禁止,请去北欧'; 303 } 304 305 306 //========================================== 307 //三元运算符 返回原处 308 // 309 //条件?返回值1:返回值2 310 //如果条件为真,则返回值1,否则返回值2 311 // 312 // 313 //比如,在网站中判断一个人有没有登陆 314 //如果登陆,用户名不为空,则显示其用户名 315 //如果没登陆,用户名空,则显示游客。。 316 317 //$user = 'zhangsan'; 318 //if(!=''){ 319 // echo $user; 320 //}else{ 321 // echo '游客'; 322 //} 323 // 324 //$user = 'zhangsan'; 325 //echo $user?$user:'游客'; 326 327 //程序如果没有三元运算符,可以用什么代替? 328 // 329 //可以用if/else代替 330 //三元中是一个简化的写法 331 //而且效率没有 if/esle高 332 333 334 //========================================== 335 //递增,递减运算符 返回原处 336 // 337 //就是语言中没有递增,递减,也不会影响我们写程序。 338 //也是一些场景的简化写法 339 340 //分析,$b + 1是一个算术运算,算出的结果是3,这个3是一个‘算出结果’,和$b没有关系 341 //这个算出结果,值给了$a 342 //因此,$a为3,$b为2 343 $b = 2; 344 $a = $b +1; 345 echo $a,'~',$b,'
'; 346 347 //$b++,这是一个递增运算,去处则必有去处结果, 348 //问题: $b++的运算结果是什么? 349 //答:$b++,运算结果是$b本身 350 //然后再把$b的值+1 351 //就相当于return $b; $b = $b +1; 352 //$b =1; 353 //$a = $b++; 354 //echo $a,'
',$b;
355 // 356 // 357 //========================================== 358 /*位运算符,说白了,就是,二进制运算符 返回原处 359 //人有10个指头,用10进位,便于计算 360 // 361 //玛雅人,不穿鞋,连脚趾也算上,20进位 362 //进位是多少没关系,关键是方便我们我们使用 363 // 364 //对于计算机来说,所有的位,都 只有两种状态 0 1 365 //因为百进位上 ,1代表100 366 //10进位上,1代表10 367 //个位,1代表1 368 // 369 //我们知道计算机里的信息,都是以0,1来存储的 370 //一个可以存储0/1单元,称为位bit 371 // 372 //8个位组成一个字节,Byte 373 //字节是计算机里最基本的单位。 374 375 376 12 = 8 + 4; 377 =1*2^3+1*2^2+0*2^1+0*2^0 378 =1100 379 5=101 380 但是计算机里,最基本的单位就是字节,有8个位,只用了3个怎么办? 381 答:把用的3个或4个位,写在字节的右边 382 左边的这些位,用0补上。 383 因此,计算机里: 384 12=0000 1100 385 5 =0000 0101 386 387 388 12 & 5 = 0000 0100 = 4 389 12 | 5 = 0000 1101 = 13 390 12 ^ 5 = 0000 1001 =9 391 按位运算符 392 &按位且 ,把2个二进制值齐,把1看成true ,把0看成false,然后每个位上都做 并且 的运算。 393 |按位或 , 把2个二进制值齐,把1看成true ,把0看成false,然后每个位上都做 或者 的运算。 394 395 ^按位异或 把2个二进制值齐,把1看成true ,把0看成false,然后每个位都不一样时做 异或 的运算。 396 397 398 提醒大家:计算机是按位算,我们操作,往往直接10进制 399 */ 400 //========================================== 401 402 $a = 12; 403 $a = 0000 1100 404 //按位求反 405 $a = 1111 0011 406 echo ~12 407 //计算机里表示负数,是用补码的规则来计算的 408 //具体这样来计算负数,假设有8位 409 //最高位是1,得出符号是负 410 // 411 //开始补码规则 412 //计算除符号位之外,其他7位的绝对值 413 //(1)111 0011 =115 414 //然后把 绝对值-2^7 = 115 -128 = -13 415 // 416 //因此: 417 //1000 0001 ---不要想当然是 -1 418 //而是 1-2^7 = -127 419 1111 1111 --- 127-128 = -1 420 1000 0000 --- 0-128 =-128 421 422 0000 0000 --- 0 423 0111 1111 --- 127 424 425 //为什么有人问:-128 +127 426 // 427 //直观来理解 428 //-128 --- 0 0 --- 127 429 //位运算,掌握更好,掌握的不熟悉也不要纠结 430 431 432 //========================================== 433 //移位运算 返回原处 434 435 5 = 0000 0101; 436 5 //左移 437 //相当于乘2的效果 438 0000 1010; //得到的结果是10 439 5 >> 1; //右移 440 0000 0010 441 //相当于除2的效果 442 443 444 //========================================== 445 //之前学习了‘量’---变量,常量 446 //量与量之间,可以运算,运算符 447 // 448 //如果只有量与量与的运算,那么我们学的知识只够做一个计算器 449 450 //========================================== 451 //想写程序:还得有控制结构 452 // 453 //控制结构,就是条件与逻辑,控制代码的执行顺序 454 // 455 //程序员 是用php --- 培训 --- 计算机 456 //如果 --- if 457 //否则如果 ---else if 458 //否则 ---- else 459 $gender = $_GET['gender']; 460 if(){ 461 }else{ 462 463 } 464 //========================================== 465 466 //有几种控制结构 467 //答 : 1. 顺序 、 2. 分支 、 3. 循环 468 //这个3种控制结构 469 //所有语言都这样 返回原处 470 471 //========================================== 472 // 1. 顺序 473 // 顺序结构就是语句按照你书写的顺序,从前到后顺序执行。 474 // 最容易理解 475 echo 'a:8点了','
'; 476 echo 'b:来YY:88354001','
'; 477 echo 'c:我听懂了','
'; 478 echo 'd:我开始写博客了','
'; 479 480 //========================================== 481 // 2. 分支 返回原处 482 //顾名思义:有分支 ,就像一条大路,走了3岔口,该选择一个走下去了。 483 //最简单的,单路分支 484 485 //单路分支 486 $age = 18; 487 if($age >= 18 ){ 488 echo '你已成年'; 489 }//这个if中的代码,要么执行,要么不执行 490 //括号中的表达式,如果为真,则执行,否则,不执行 491 ------------------------------------------- 492 //双路分支 if /else 493 $year = 2012; 494 $birth = 1987; 495 $age = $year - $birth 496 if($age > 28){ 497 echo '你是中老年'; 498 }else{ 499 echo '你是有为青年'; 500 } 501 //if为真,则代码段1执行 502 //if为假,则代码段2执行 503 //if else 中的两个代码,有且只有一个执行。 504 //------------------------------------------- 505 //多路分支 506 $age = 34; 507 if( $age ){ 508 echo '中年'; 509 } else if($age > 16 && $age ){ 510 echo '老年'; 511 }else if( $age >28 && $age ){ 512 echo '其他'; 513 } 514 ------------------------------------------- 515 //switch 分支语句 返回原处 516 517 $day = 2; 518 if($day == 1){ 519 echo '星期一'; 520 }else if($day == 2){ 521 echo '星期二'; 522 }else if($day == 3){ 523 echo '星期三'; 524 }else if($day == 4){ 525 echo '星期四'; 526 }else if($day == 5){ 527 echo '星期五'; 528 }else if($day == 6){ 529 echo '星期六'; 530 }else if($day == 7){ 531 echo '星期日'; 532 }else{ 533 echo '不存在'; 534 } 535 //对于一个变量的值,有多种可能性,用if / if else 来比较,当然是可以的。 536 //但是,有一种,更简单的分支结构来替换他 537 538 539 $day =2; 540 switch($day){ 541 case 1: 542 echo '星期一'; 543 break; 544 case 2: 545 echo '星期二'; 546 break; 547 case 3: 548 echo '星期三'
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

178

2026.01.28

包子漫画在线官方入口大全
包子漫画在线官方入口大全

本合集汇总了包子漫画2026最新官方在线观看入口,涵盖备用域名、正版无广告链接及多端适配地址,助你畅享12700+高清漫画资源。阅读专题下面的文章了解更多详细内容。

35

2026.01.28

ao3中文版官网地址大全
ao3中文版官网地址大全

AO3最新中文版官网入口合集,汇总2026年主站及国内优化镜像链接,支持简体中文界面、无广告阅读与多设备同步。阅读专题下面的文章了解更多详细内容。

79

2026.01.28

php怎么写接口教程
php怎么写接口教程

本合集涵盖PHP接口开发基础、RESTful API设计、数据交互与安全处理等实用教程,助你快速掌握PHP接口编写技巧。阅读专题下面的文章了解更多详细内容。

2

2026.01.28

php中文乱码如何解决
php中文乱码如何解决

本文整理了php中文乱码如何解决及解决方法,阅读节专题下面的文章了解更多详细内容。

4

2026.01.28

Java 消息队列与异步架构实战
Java 消息队列与异步架构实战

本专题系统讲解 Java 在消息队列与异步系统架构中的核心应用,涵盖消息队列基本原理、Kafka 与 RabbitMQ 的使用场景对比、生产者与消费者模型、消息可靠性与顺序性保障、重复消费与幂等处理,以及在高并发系统中的异步解耦设计。通过实战案例,帮助学习者掌握 使用 Java 构建高吞吐、高可靠异步消息系统的完整思路。

8

2026.01.28

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

24

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

122

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

72

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
php初学者入门课程
php初学者入门课程

共10课时 | 0.6万人学习

WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 8.6万人学习

PHP基本语法(玉女心经版)
PHP基本语法(玉女心经版)

共11课时 | 1.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号