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基础学习之常用命令①相关推荐

  1. linux 基础学习之常用命令

    常用命令 2.1.1 改变目录 cd 目录的表达方法 /根目录 .当前目录 .. 上一级目录 ~家目录 #cd / 进入到系统根目录 #cd . 进入当前目录 #cd .. 进入当前目录的父目录,返回 ...

  2. Linux学习之CentOS(二)--初识linux的一些常用命令

    Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...

  3. 【Linux】Linux入门学习之常用命令二

    介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...

  4. Linux学习系列二:Linux中的常用命令

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

  5. Linux基础概念及常用命令

    Linux基础概念及常用命令 文章目录 Linux基础概念及常用命令 1 Linux概述 1.1 为什么要学Linux 1.2 Linux简介 1.3 Linux 发行版 1.4 Linux 应用领域 ...

  6. 【Java从0到架构师】Linux 基础知识、常用命令

    Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...

  7. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  8. 【Linux】Linux入门学习之常用命令一

    介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...

  9. 【Linux】Linux入门学习之常用命令三

    介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...

  10. 【Linux】Linux入门学习之常用命令四

    介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...

最新文章

  1. 微型计算机又称个人计算机 分为,计算机基础知识试题及答案
  2. 中山大学“核技术灭蚊”上热搜,广州蚊子工厂日产500万只绝育蚊子|Nature
  3. 聚焦互联网应用和深度学习
  4. 记录一个相当好用的反编译工具下载地址
  5. 算法,天使还是魔鬼?
  6. 阿里纳斯Adidas广告词
  7. HashTable数据类型的增删改查操作0404
  8. 计算机应用基础发帖本科,《计算机应用基础》(本)教学大纲.doc
  9. HTML5 Canvas中绘制贝塞尔曲线
  10. 具有管理计算机全部硬件,2012河北省事业单位招聘考试真题演练汇总
  11. 纯php代码打印数据表
  12. 【SPSS】重复测量设计方差分析-单因素
  13. Visual SourceSafe 2005 简体中文语言包
  14. 数据流分析之Reaching Definition Analysis
  15. php中ne,eq相等 ne、neq不相等, gt大于, lt小于
  16. 买天猫网店转让成为电商创业新趋势
  17. 互联网广告作弊十八般武艺
  18. 超级壁纸android,【教程】MIUI最新超级壁纸安卓全机型安装指南
  19. Unity打开新项目报错
  20. 累加器是寄存器吗?寄存器、累加器、暂存器有什么区别?

热门文章

  1. 84 岁 iOS 女程序员,不得不服!
  2. java 异常 ppt_Java程序设计基础与实践 第6章 异常处理.ppt
  3. kubectl rollout restart重启pod
  4. 2019年中南大学研究生复试机试题 题解
  5. Ubuntu系统如何屏幕截图
  6. win10 企业版 设备管理器找不到 端口(COM和LPT)
  7. 1.17 “干项目太累,那是因为姿势不对” Stacey矩阵
  8. 《非暴力沟通》的优秀读后感2600字
  9. 本科阶段学习经验分享(未整理)
  10. Linux打开wim文件,linux笔记 wim编辑器