二、PHP基础学习之常用命令①

1. 变量检测(isset、empty)
isset 可以检测变量是否存在,返回true或false
empty 可以检测变量是否为空,变量不存在也算做为空

<?php
//$a = 123;
// 变量未定义即不存在,定义后销毁也是不存在

if(isset($a))
	echo '变量a存在';
else
	echo '变量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 15

unset($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);
}
?>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值