PHP学习(二)

一、php 数据类型之查看和判断数据类型

查看数据类型

1.gettype(传入一个变量) 能够获得变量的类型

2.var_dump(传入一个变量) 输出变量类型和值

复制代码
<?php
//声明一个变量 88.8 
$f = 88.8;
$type = gettype($f);
echo $type;
?>
Matlab 复制代码
<?php
//多换几个类型试试
$str = '你喜欢尊上还是喜欢杀仟陌?';
var_dump($str);
?>
判断数据类型

我们使用 is_* 系列函数。 is_types 这一系列的函数,来进行判断某个东西是不是某个类型。如果是这个类型返回真,不是这个类型返回假。
is_int 是否为整型
is_bool 是否为布尔
is_float 是否是浮点
is_string 是否是字符串
is_object 是否是对象
is_null 是否为空
is_resource 是否为资源
is_scalar 是否为标量
is_numeric 是否为数值类型
is_callable 是否为函数

is_array 是否是数组

Matlab 复制代码
<?php
//is_* 系列函数特点,如果是这个类型就返回的是真。不是这个数据类型就返回的是假
//声明类型为假
$fo = false;
if(is_bool($fo)){
echo '执行真区间';
}else{
echo '执行假区间';
}
//检查未声明的变量$p 是否为空,为空就执行真区间
if(is_null($p)){
echo '执行真区间';
}else{
echo '执行假区间';
}
echo "<br/>";
//字符串类型的数值,看看执行的是真还是假
$str = '18.8';
if(is_numeric($str)){
echo '执行真区间';
}else{
echo '执行假区间';
}
echo "<br/>";
//把 sca 的值换成整型、浮点、布尔和字符串试试
$sca = true;
//如果为标量,执行真区间<?php
//is_* 系列函数特点,如果是这个类型就返回的是真。不是这个数据类型就返回的是假
//声明类型为假
$fo = false;
if(is_bool($fo)){
echo '执行真区间';
}else{
echo '执行假区间';
}
//检查未声明的变量$p 是否为空,为空就执行真区间
if(is_null($p)){
echo '执行真区间';
}else{
echo '执行假区间';
}
echo "<br/>";
//字符串类型的数值,看看执行的是真还是假
$str = '18.8';
if(is_numeric($str)){
echo '执行真区间';
}else{
echo '执行假区间';
}
echo "<br/>";
//把 sca 的值换成整型、浮点、布尔和字符串试试
$sca = true;
//如果为标量,执行真区间

二、php流程控制之if else****语法

Matlab 复制代码
<?php
//我们定义一个泡到美女的变量($pao)为 true,意思为泡到了
$pao = true;
if($pao){
echo '我愿意去死';
echo '林志玲,我爱死你了。';
}else{
echo '我不愿意去死';
echo '凤姐,我肯定不会爱你的';
}
//if...else 执行结束,后续代码
?>

三、php 算术运算

Matlab 复制代码
<?php
$x = 5;
$y = 6;
//5+6 为 11
echo $x + $y;
?>
php 自加自减

自加自减,就是把自己加 1,或者减 1。如果你学习过其他编程语言。你会发现,此处 的用法又是计算机里面的一个规定。可以这样用,用起来更加简洁。


上面的用法其实挺简单的,按照上面的例子。我们分成步骤去,按过程去判断即可。

Matlab 复制代码
<?php
$x = 5;
//先赋值后加:即先将$x 的值赋值给$y。$x 的值为 5,所以将$x 的值赋值给$y。$y 也为 5
$y = $x++;
//$x 的结果输出为 6,因为赋值给$y 后,$x 自己又把自己进行了+1 操作。所以,$x 的结果
为 6
echo $x;
?>
php****比较运算符
Matlab 复制代码
<?php
$x = 5;
$y = 6;
//因为 5 大于 6 不成立,所以为错的。即为 false 执行了假区间
if($x > $y){
//真区间
echo '变量 x 大于 变量 y,成立';
}else{
//假区间
echo '变量 x 大于 变量 y,不成立';
}
?>
//使用 php 比较两个整数大小
php****逻辑运算
Matlab 复制代码
<?php
$x = true;
$y = false;
//逻辑与(并且),要求两个都为 true 才执行真区间,所以代码中执行假区间
if($x && $y){
echo '执行了真区间';
}else{
echo '执行了假区间';
}
?>
php****位运算
Matlab 复制代码
<?php
//$x 二进制值为:
$x = 5;
//$y 二进制值为:
$y = 8;
//结果为 13
echo $x ^ $y;
?>


异或解释:如果 x,y 两个值不相同,则异或结果为 1 。如果 x,y 两个值相同,异或结果为 0 。
由此可推 1101 为 x 和 y 异或出来的结果, 1101 用二进制转 10 进制工具转换后的结果就
为 13 。

php****三元运算符和其它运算符
Matlab 复制代码
<?php
$x = true;
$x ? $y = 5 : $y = 6;
// bash 语法 [ $a -eq 0 ] && echo 1 || echo 0
//输出 5
echo $y;
?>
Matlab 复制代码
<?php
echo '<pre>';
echo `ipconfig`;
echo '</pre>';
?>

四、PHP****流程控制

if 条件结构流程

王同学是生活极度充满娱乐化和享受生活的人。他抵达北京或者大连的时候做的事,他抵达 后做的事情,如下:
半夜到达,先去夜店参加假面舞会
早上抵达,爱在酒店泡个澡
中午到达,会吃上一份神户牛肉
晚上到达,总爱去找朋友去述说一下心中的寂寞
<?php
if(判断语句 1 ) {
执行语句体 1
}else if(判断语句 2){
执行语句体 2
}else if(判断语句 n){
执行语句体 n
}else{
最后的 else 语句可选
}
//后续代码
?>

Matlab 复制代码
<?php
//定义一个随机变量,抵达时间,随机 0 点至 23 点
$dida = rand(0,23);
if($dida > 6 && $dida < 10){
echo '我爱泡澡';
}else if($dida >10 && $dida < 14){
echo '吃神户牛肉';
}else if($dida >=19 && $dida < 22){
echo '找一个朋友聊聊内心的寂寞';
}elseif($dida > 22 && $dida <= 23){
echo '泡澡';
}elseif($dida >= 1 && $dida <3){
echo '泡澡';
}else{
echo '睡觉或者工作';
}
?>
if 语句多种嵌套

王思总同学在出行和项目中也是极度有计划性。他给自己的生活秘书和 工作秘书 分别指派
了出差的行程:
生活上:
先查天气,下雨带雨具和毛巾。不下雨要带防晒霜
雨具、毛巾和防晒霜的情况要提前检查,如果没有要及时买
工作上:
要提前沟通去大连前的工作计划,准备好了要及时检查,检查合格,打印签单。
没有及时准备好的情况下,要列出主要的项目沟通议题。
类似于上面的这种情况判断,我们就需要用到if...elseif...else反复嵌套的结构 了。
在if语句中可以嵌套一个或多个if语句,以实现对多个参数的判断,这就是if语句的
多种嵌套。其结构形式如下:
多种嵌套。其结构形式如下:
<?php
if(判断 1){
if(判断 2){
代码段 1
}else{
代码段 2
}
}else{
if(判断 3){
代码段 3
}else{
代码段 4
}
}
?>

Matlab 复制代码
<?php
//0 表示工作秘书,1 表示生活秘书
//用代码模拟随机产生当前的工作是生活秘书的还是工作秘书的
$mishu = rand(0,1);
if($mishu){
//下雨和不下雨的状态,随机产生
//下雨状态为 1
//不下雨状态为 0
$xiyu = rand(0,1);
if($xiyu){
//是否购买雨伞
$you = rand(0,1);if($you){
echo '下雨天,已购买不用买雨伞';
}else{
echo '下雨天,未购买,需要买雨伞';
}
}else{
//是否购买防晒霜
$you = rand(0,1);
if($you){
echo '没下雨,有防晒霜';
}else{
echo '没下雨,需要准备防晒霜';
}
}
}else{
//是否准备好了会议议程
$shifou = rand(0,1);
if($shifou){
echo '已准备好,可以随时出发';
}else{
echo '没有准备好,需要打印,延迟出发';
}
}
switch语句的使用(多分支的if语句变种)

switch...case的语法结构如下

上面的break、default是可选的
不要在case后面写成分号,后面是冒号:
不要在case后面写判断区间,如(foo \> 20 或者 foo == 30)
switch里面在变量最好是 整型,字符串,因为布尔判断更适合if...else..

Matlab 复制代码
<?php
//定义出行工具
$tool=rand(1,6);
switch($tool){
case 1:
echo '司机开车';
break;
case 2:
echo '民航';
break;
case 3:
echo '专机';
break;
case 4:
echo '动车';
break;
case 5:
echo '骑马';
break;
case 6:
echo '游轮';
break;
}
?>
do/while****循环语句的使用:

王同学需要反复往返于北京和大连,就是典型的循环结构。假设王思总投资这个项目需要往返大连100次,每次往返都王同学都会计数一次。难道我们写一百遍同样的代码?显然对于智商极高的程序员来说不可能这样处理。 我们抽象了人类的这种思维。我们定义一种循环结构

Matlab 复制代码
<?php
//定义需要往返的次数,老外喜欢从 0 开始计数,我们也从 0 开始计
$count = 0;
//while 后面接布尔值判断,为真执行,为假停止
//$count 小于 5 的时候执行,也就是$count 为 0 至 5 的时候执行
//如果$count 不小于 5 了,循环停止执行后续的代码
//循环开始处
while($count < 5){
echo '我是王思总,我是第' . $count .'次出差<br />';
//每次执行让$count+1,这样的话,就不会产生$count 永远小于 100 的情况了
$count++;
//循环结束
}
echo '后续代码';
?>

下面我们来看看do...while与while的区别
do...while与while的语法结构基本一样,也是一个布尔型循环,功能也基本一样。
基本语法规定如下:

Matlab 复制代码
echo '//do while 循环//'."<p>";
$i = 5;
do {
 echo $i."<p>";
 $i--;
} while ($i > 0);
echo '//do while 循环至少进入循环一次//'."<p>";
$i = 0;
do {
 echo $i."<p>";
 $i--;
} while ($i > 0);

do...while与while的区别是,它们的值的检查时机不同。
do-while不论while判断是否成立,先执行一次代码代码块循环语句,保证会执行一次(表
达式的真值在每次循环结束后检查)。
然而我们之前的while循环会检查布尔判断区域,成立则执行。不成立则不执行。

for****循环语句的使用

同学反复往返与北京和大连,并且在本上记录往返次数。在PHP 中还有另外一种实现方式能够实现同样的计数。
for 循环是 PHP 中的一种计数型循环,它的语法比较数活多变。这是一个必须要掌握的知识点。
for (表达式 1; 表达式 2; 表达式 3){
需要执行的代码段
}
表达式1 是初始化赋值,可以同时赋值多个代码。
表达示2 在每次循环开始前求值。如果值为 TRUE ,则继续循环,执行嵌套的循环语句。
如果值为 FALSE ,则终止循环。
表达示3 在每次循环之后被求值。
我们来写个简单的例子,看看:
<?php
for (i=1; i<=5; i++) { echo '分手后第'.i.'年,我全都忘了你的样子 <br>';
}
?>

goto****循环语句的使用
Matlab 复制代码
<?php
goto wan;
echo '天王盖地虎';
wan:
echo '小鸡炖蘑菇';
?>
例 1(记得把 php 版本切换到>=php5.4 版本以上):
<?php
for($i=0; $i<10; $i++) {
echo '第'. $i .'周往返北京大连<br />';
if($i == 5){
goto end;
}
}
end:
 echo '集团公司要求停止此项';
?>

五、、PHP****函数

Matlab 复制代码
<?php
function security(){
echo '你要好好学习网络安全';
 echo '否则,你就会找工作困难';
}
security();
security();
?>
<?php
echo '//函数传 1 个参数//'."<p>";
function oldboy($i){
 echo '你要持续好好学习,'."<br>";
 echo '否则等你到了' .$i."岁,就会被淘汰。"."<br>";
}
echo oldboy(34);
?>
<?php
echo '//函数传多个参数//'."<p>";
function oldgirl($x,$y){
 echo '你要持续好好学习,'."<br>";
 echo '否则等你到了' .$x."岁,就会被淘汰。"."<br>";
 echo '我在' . $y ."岁,的时候,就成为了黑客。"."<br>";
}
echo oldgirl(34,28);
?>

备注:
1 、函数名只能是字母,数字,下划线组合,并且之间不能包含空格,数字不能放在变量名
首位。
2 、函数名与变量命名规则一样,但是不同的是:函数名不区分大小写 3 、函数体的参数若是定义了,未传参数,代码会报错
4 、函数后参数如果有默认值,参数可以不填,代码也不会报错
5. 函数后的参数可以写多个
6. 函数后如果有默认值和无默认值的参数,通常把无默认值的参数写在最前面
7. 函数体的变量与函数体外的变量没有关系
9. 函数体中若有 return,return 后的代码不执行
8. 函数执行完后 ,return 可把函数体内的值,带带函数体外
9. 函数的执行没有顺序关系,可以在定义处之前的位置调用
10. 函数不能重载

文件包含函数

在实际开发中,常常需要把程序中的公用代码放到一个文件中,使用这些代码的文件
只需要包含这个文件即可。这种方法有助于提高代码的重用性,给代码的编写与维护带来
很大的便利。在 PHP 中, 有 require 、 require_once 、 include 、 include- once 四种方法包含一
个文件。
1 , include 包含函数的功能。
创建一个 functions.php 文件,里面写上两个函数:

Matlab 复制代码
<?php
//functions.php 文件
function demo(){
echo 'oldboy';
}
function test(){
echo 'oldgirl';
}
?>

在functions.php 的同级目录下,我再创建一个 user.php 文件把 functions.php 文件包含进
来。这样我的函数就可以专门放在functions.php 里面,哪儿需要用到这些函数的时候,我
就从哪儿包含进来:

Matlab 复制代码
<?php
//user.php
include 'functions.php';
//可以直接调用
demo();
test();
?>
数学常用涵数
字符串常用涵数
时间信息函数
相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习
im_AMBER5 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J5 天前
从“Hello World“ 开始 C++
c语言·c++·学习