二、PHP基础学习之常用命令①
1. 变量检测(isset、empty)
isset 可以检测变量是否存在,返回true或false
empty 可以检测变量是否为空,变量不存在也算做为空
<?php
//$a = 123;
// 变量未定义即不存在,定义后销毁也是不存在if(isset($a))echo '变量a存在';
elseecho '变量a不存在';
?>
<?php
$a = 0;
var_dump(empty($a));// 输出结果 bool(true)
?>
总结:empty 为空的几种情况:
0、‘0’、FALSE、null、array()、’’、var $var(只定义不赋值)
2. 变量类型检测(gettype)
<?php
$a = 123;
echo gettype($a);// 输出结果 integer
?>
此外,判断是否想要的类型还可以用:
is_int()
is_float()
is_array() 等等。
3. 打印显示
echo、print_r、var_dump、dump
echo 只适用于字符串 (开发最常用)
print_r 适用于字符串、数组 (调试常用)
var_dump 适用于字符串、数组 (调试常用)
dump 可打印树型和值(不常用、部分模版引擎可用)
4. 类型转换
字符串转数字
从左往右截取数字,知道碰到不合法的字符,截取出来的部分转成数字
如:
<?php
$a = '123.456mkon';
$a = (float)$a;
var_dump($a);// 结果输出 float(123.456)
?>
此外,还可以通过加法来获取:
<?php
$a = '12.5time';
$a = $a + 3;
var_dump($a);// 输出结果 float(15.5)
?>
数字转字符串
直接使用类型转换
<?php
$a = 123;
$a = (string)$a;
var_dump($a);// 输出结果 string(3) "123"
?>
此外,还可通过拼接字符或字符型变量,如:
<?php
$a = 123;
$a = $a . 'date';
var_dump($a);// 输出结果 string(7) "123date"
?>
其它类型转布尔型
如下几种情况都为假:
0、‘0’、FALSE、null、array()、’’、var $var(即只定义不赋值)
其余为真。
<?php
$a = 0;
$a = (bool)$a;
var_dump($a);// 输出结果 bool(false)
?>
5. 赋值
PHP赋值有两种方式:传值赋值、引用赋值。
传值赋值:当将表达式的值赋予变量时,整个原始表达式的值都被赋予到目标变量。即,该变量记录的实际值为所赋予的值。
引用赋值:记录的是变量地址。例如:变量a引用赋值给变量b,则变量b也指向变量a所指向的内存地址,两者管理同一个值。换句话说,变量b相当于变量a的别名。
<?php
$a = 'a';
$b = 'b';
echo "$a,$b <hr />";
// 显示a,b$b = $a; // 传值赋值
$a = 'a1';
echo "$a,$b<hr />";
// 显示a1,a$b =& $a; // 引用赋值
$a = 'a2';
echo "$a,$b <hr />";
// 显示a2,a2
?>
6. 销毁变量(unset)
销毁变量,指的是删除变量,是从内存中释放。
及时销毁变量可以有效防止内存不足
<?php
$a = 10;
$b = &$a;
var_dump($a, $b);
// 输出 10 10$b = 15;
var_dump($a, $b);
// 输出 15 15unset($a);
var_dump($a, $b);
// 输出 null 15
?>
7. 动态变量名
<?php
$a = 'hello, world';
$b = 'a';
$c = 'b';var_dump($c, $$c, $$$c);// 输出 "b"、 "a"、 "hello, world"
/*
因为PHP查找变量是根据'$'符号来逐个检索的,从左往右,以$$c为例:第一个$检测到后面还有一个$,先进行后面的解析获取,得到$c的值为'b',再把'b'拼接到第一个$后,即为$b,最后查找$b的值为'a'
*/
?>
8. 算术
运算是为了得到结果,基本上所有运算都能用计算机执行。不考虑配置的情况下,运算速度取决于运算的复杂度。
注意:
除数不能为0
取模算法时,结果的正负仅取决于被除数
9. 比较运算符
>= 大于或等于
<= 小于或等于
== 等于
=== 全等于,类型和值都相等才为真
<?php
$a = 123;
$b = '123';var_dump($a == $b); // true
var_dump($a === $b); // false
?>
10. 三元运算符
根据条件返回结果1还是结果2,例:
<?php
// 获取$a、$b中的最大值
$a = 2;
$b = 3;
$c = $a > $b ? $a : $b;
var_dump($c);// 输出结果 int(3)
?>
11. 逻辑运算符
&& 且,前后条件都成立为真,否则假
|| 或,前后条件任一条件成立为真,否则为假
! 非,条件不成立为真,否则为假
12. 递增递减
变量自加或自减,例:$a++、$a–
注意:加减符号放在前面或后面意义是不一样的。
<?php
// 先用后改:符号放在后面,先使用变量,使用过后再改变值
$a = 5;
$b = $a++;
var_dump($a, $b); // 6 5
?>
<?php
// 先改后用:符号放在前面,先改变变量的值,再使用
$a = 5;
$b = ++$a;
var_dump($a, $b); // 6 6
?>
13. 字符串运算符
字符串运算符为 ‘.’,用于拼接字符串或变量。
<?php
$a = 'hello';
$b = 'world';
$c = $a . $b;
echo $c;
?>
注意:在仅仅需要输出变量的时候,应尽量不用拼接符号,拼接需要时间,当然这点时间基本可以忽略不计,但没必要进行拼接,例如:
<?php
$a = 'hello';
$b = 'world';// 方案1. 先进行拼接,然后输出,有拼接过程。
echo $a . $b;// 方案2. 直接输出,无拼接过程(推荐该方案)
echo $a , $b;
?>
14. 赋值运算符
‘=’为赋值运算符,把等号右边的值给到左边变量。左边必须用变量来承接。
<?php
$a = 5;/*
执行了两件事:
1. 把5赋给$a
2. 返回运算结果,即5
*/
?>
15. 控制结构
if-else
switch-case
if-else 适用于大部分条件控制
switch-case只适用于验证多个可能值,不适用于验证值的范围
<?php
if(3 > 2){echo '3 大于 2';
}else{echo '3 不大于 2';
}
?>
<?php
$day = 4;
switch($day){case 1:echo '周一';break;case 2:echo '周二';break;case 3:echo '周三';break;case 4:echo '周四';break;case 5:echo '周五';break;case 6:echo '周六';break;default:echo '周日';break;
}
?>
注意:如果case里没有加break,将一直往下执行。default是排除列出的所有可能之后的条件。
16. while、do-while
二者皆为循环控制命令。异同:当条件成立时,二者的循环次数一样;当条件不成立时,do-while执行一次。
举个例子:
while 就好比一家饭店,这家饭店需要先给钱才能吃饭,顾客没有带钱,所以直接就不能去吃饭
do-while 这家饭店是先吃饭后给钱,顾客不管带没带钱,都能吃一顿,吃完结账时发现没带钱,那么下次就不能再吃了。只能吃一次。
<?php
// while 条件成立才执行
$rmb = 10;
while($rmb > 0){$rmb--;var_dump($rmb);
}
?>
<?php
// 先执行,再判断条件是否成立,成立就继续执行
$rmb = 10;
do{$rmb--;var_dump($rmb);
}
while($rmb > 0);
?>
注意:循环体内部需要对判断条件做更改,把循环次数控制在有限范围内,防止死循环。
17. for循环
一般要素:初始化、判断、执行体、修改变量
<?php
for($i = 100; $i > 3; $i -= 2){var_dump($i);
}
?>
18. break 和 continue
break 结束整个循环
continue 结束本次循环
<?php
for($i = 0; $i < 10; $i++){if($i == 8){break;}var_dump($i);
}
?>
<?php
for($i = 0; $i < 10; $i++){if($i == 8){continue;}var_dump($i);
}
?>
二、PHP基础学习之常用命令①相关推荐
- linux 基础学习之常用命令
常用命令 2.1.1 改变目录 cd 目录的表达方法 /根目录 .当前目录 .. 上一级目录 ~家目录 #cd / 进入到系统根目录 #cd . 进入当前目录 #cd .. 进入当前目录的父目录,返回 ...
- Linux学习之CentOS(二)--初识linux的一些常用命令
Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...
- 【Linux】Linux入门学习之常用命令二
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
- Linux学习系列二:Linux中的常用命令
这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...
- Linux基础概念及常用命令
Linux基础概念及常用命令 文章目录 Linux基础概念及常用命令 1 Linux概述 1.1 为什么要学Linux 1.2 Linux简介 1.3 Linux 发行版 1.4 Linux 应用领域 ...
- 【Java从0到架构师】Linux 基础知识、常用命令
Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...
- Linux基础系统优化及常用命令
# Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...
- 【Linux】Linux入门学习之常用命令一
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
- 【Linux】Linux入门学习之常用命令三
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
- 【Linux】Linux入门学习之常用命令四
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
最新文章
- 微型计算机又称个人计算机 分为,计算机基础知识试题及答案
- 中山大学“核技术灭蚊”上热搜,广州蚊子工厂日产500万只绝育蚊子|Nature
- 聚焦互联网应用和深度学习
- 记录一个相当好用的反编译工具下载地址
- 算法,天使还是魔鬼?
- 阿里纳斯Adidas广告词
- HashTable数据类型的增删改查操作0404
- 计算机应用基础发帖本科,《计算机应用基础》(本)教学大纲.doc
- HTML5 Canvas中绘制贝塞尔曲线
- 具有管理计算机全部硬件,2012河北省事业单位招聘考试真题演练汇总
- 纯php代码打印数据表
- 【SPSS】重复测量设计方差分析-单因素
- Visual SourceSafe 2005 简体中文语言包
- 数据流分析之Reaching Definition Analysis
- php中ne,eq相等 ne、neq不相等, gt大于, lt小于
- 买天猫网店转让成为电商创业新趋势
- 互联网广告作弊十八般武艺
- 超级壁纸android,【教程】MIUI最新超级壁纸安卓全机型安装指南
- Unity打开新项目报错
- 累加器是寄存器吗?寄存器、累加器、暂存器有什么区别?
热门文章
- 84 岁 iOS 女程序员,不得不服!
- java 异常 ppt_Java程序设计基础与实践 第6章 异常处理.ppt
- kubectl rollout restart重启pod
- 2019年中南大学研究生复试机试题 题解
- Ubuntu系统如何屏幕截图
- win10 企业版 设备管理器找不到 端口(COM和LPT)
- 1.17 “干项目太累,那是因为姿势不对” Stacey矩阵
- 《非暴力沟通》的优秀读后感2600字
- 本科阶段学习经验分享(未整理)
- Linux打开wim文件,linux笔记 wim编辑器