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();
?>
数学常用涵数
字符串常用涵数
时间信息函数
相关推荐
滴_咕噜咕噜7 分钟前
学习笔记(prism--视频【WPF-prism核心教程】)--待更新
笔记·学习·wpf
ghostwritten11 分钟前
学习 Python 编程的规则与风格指南
python·学习
两水先木示11 分钟前
【Unity3D】ECS入门学习(七)缓存区组件 IBufferElementData
学习·unity·ecs
海海不掉头发12 分钟前
软件工程-【软件项目管理】--期末复习题汇总
java·学习·产品运营·软件工程·团队开发·需求分析·期末复习
lxw184491251435 分钟前
vue 基础学习
前端·vue.js·学习
青春男大1 小时前
java队列--数据结构
java·开发语言·数据结构·学习·eclipse
墨楠。2 小时前
C语言基础学习记录-文件管理
学习
南宫生2 小时前
力扣-数据结构-4【算法学习day.75】
java·数据结构·学习·算法·leetcode
坊钰2 小时前
【Java 数据结构】LinkedList 类 和 模拟实现链表
java·开发语言·数据结构·学习·算法·链表
大丈夫立于天地间4 小时前
IPv6的地址类型
网络·网络协议·学习·华为·信息与通信