入门级php语言代码,三篇文章带你极速入门php(一)之语法

本文适合阅读用户

有其他语言基础的童鞋

看完w3cschool语法教程来回顾一下的童鞋(传送门,想全面看一下php语法推荐这里)

毫无基础然而天资聪慧颇有慧根(不要左顾右看说的就是你,老夫这里有一本《php从入门到放弃》,观你根骨清奇10两银子卖给你如何)

看完本文后你会收获到什么

php的变量的定义,使用

函数的定义,使用,传递参数

数组的定义,调用,常用方法,使用场景

php中循环,判断,选择结构的语法

类的定义,成员变量和成员函数的定义和使用

相信我,认真看完本文,你就已经掌握了php常用的语法了,足以进行一些常规的开发,剩下的可以用到再学,避免在学了忘学了忘的语法坑中沉迷太久(๑•̀ㅂ•́)و✧

用php导演一场情景剧

这就是今天的目的,假设我们已经搭建好了环境(下一节会讲),现在开始进行 编码 创造世界。

首先定义一下我们的题目,myphp

//定义我们的题目

$title = "myphp";

php定义变量用$符号,php是弱类型变量语言,不区分变量的类型,""和它里边内容在一起表示一个字符串。 另外//表示注释,就是解释性的话,并不会作为代码运行

//这个方法用来输出

function show($str)

{

echo $str . "
";

}

再定义一个方法(也叫函数,只是叫法不一样而已啦),定义方法用function关键字,括号里的是参数,直接用变量表示就可以,在调用的时候接收调用时传来的参数

echo是php自带的输出方法,没有括号是因为它比较特殊,可以先不管,会用就行

.是php中字符串拼接的符号,
是html中的换行符,为了让输出更好看

//方法直接调用就好

show("hello " . $title);

输出如下图

1460000017847415?w=403&h=162

//定义发生异常时触发的函数

function error($str)

{

echo "{$str}
";

exit();

}

在""双引号内,可以直接用花括号包裹起来一个变量,这样在被调用的时候变量就会直接在字符串中替换为变量的值,单引号不可以

exit()方法让整个程序结束

//用[]可以直接创建一个空的数组,然后一一赋值

$person1 = [];

$person1['name'] = '高富帅';

$person1['sex'] = '男';

//也可以直接创建一个有值的数组

$person2 = ['name' => '白富美', 'sex' => '女'];

//这是一个二维数组,也可以用同样的方式创建更多维的数组

$persons = [$person1, $person2];

既然是情景剧,得有个男女主角呀,打印出来看看这个二维数组,发现下标是从0开始的,不要奇怪所有编程语言都是这样的

1460000017847416?w=405&h=262

接下来定义一个类,类可以暂时理解为一些数据和方法的集合,也就是我们的情景剧啦

class MyPhp

{

}

定义类用class关键字,空格后是类的名字,注意只能是英文字母或者下划线_开头

情景剧不能什么都没有啊,我们再给它定义一些必要的成员变量和成员方法

class MyPhp

{

//表示我们的演员们

public $actors = null;

//自带bgm的情景剧

public $music = '我心永恒';

public function __construct()

{

$this->start();

}

public function start()

{

$time = time();

show("时间:{$time}");

$date = date('Y-m-d h:m:s', $time);

show("哦~一般人还是看日期好一点 {$date}");

show("播放片头曲~~{$this->music}");

}

}

成员变量:成员变量直接用$符号声明就可以,public private protected 是成员变量的访问控制权限(同样适用于成员方法),分别表示共有,私有,受保护的,null是php里的空指针的关键字

成员方法:

有一些自带的成员方法,比如构造函数__construct,php中__开头(两个下划线)的函数都是默认自带的函数,__construct是构造函数,初始化一个类对象的时候会调用这个方法

可以自己定义成员方法,如start这个方法,定义方法和普通方法一样,控制权限和成员变量一样也是public private protected三个

调用成员变量,如$this->music,注意此时成员变量不要加$符号。调用成员方法,如$this->start()

时间和日期:time()方法获取一个当前的时间戳,date()方法接受两个参数,第一个是一个字符串表示格式化格式,第二个参数是一个时间戳,返回格式化之后的时间

//定义一个方法,让演员加入进来

public function actorJoin($actorlist)

{

//我们判断演员是一个数组并且有两个人才可以,否则男女主角肯定有一个人没来或者第三者插足了

if (is_array($actorlist) && count($actorlist) == 2) {

$this->actors = $actorlist;

} else {

error('还有演员没有就位');

}

}

is_array()方法判断参数变量是否是数组

count()方法返回参数数组的长度

if(){}else{}结构是条件语句语法,括号内的判断语句如果成立,程序运行if下边大括号内的内容,否则运行else下大括号的内容

//情景剧一开始们,演员得自我介绍一下吧,流程不能省

public function introduce()

{

if (empty($this->actors)) {

error('大家好我是导演,男女主角偷偷约会还没结束,今天可能来不了了');

}

foreach ($this->actors as $actor) {

$intro = "我是{$actor['name']},";

switch ($actor['sex']) {

case '女':

show($intro . "我是女主角。");

break;

case '男':

show($intro . "我是男主角。");

break;

default:

show($intro . "抱歉,我不知道我什么性别。");

break;

}

}

}

empty()函数判断数组是否为空,空返回true,也就是正确的意思,此处没有else,代表如果不满足if的条件,程序直接往下走,不运行大括号内的代码。

foreach循环遍历数组,foreach($arr as $val),就是说对把$arr的所有成员依次赋值给$val,循环的次数就是$arr的长度

switch语句针对同一地方不同值进行选择,可以避免多次if else,性能和可读性也更好

switch后跟随的括号表示选择的变量

case后的值和冒号后的代码,表示对应值和要运行的代码,注意要添加break,表示跳出本次判断,不然代码会继续往下运行

defaul表示没有满足以上规定的case的时候,就运行default的代码

//表演开始啦

public function action()

{

if (empty($this->actors)) {

error('演员临时有事,谢谢大家捧场');

}

//这是我们的剧本

$play = array();

$play[] = "{$this->actors[0]['name']} 和 {$this->actors[1]['name']} 在街边相遇";

$play[] = "{$this->actors[0]['name']} 深情脉脉的看着 {$this->actors[1]['name']}";

$play[] = "以下省略一万字,请自行脑补......";

$play[] = "全剧终";

foreach ($play as $key => $val) {

show("第{$key}幕");

show($val);

}

}

//不能草草结束,补个片尾曲

public function end()

{

show('片尾曲,撒花完结');

}

array()函数会返回一个数组,如果没有参数就是一个空数组,也是创建数组的一个方式

**$this->actors[0]['name']**,返回的是$this->actors的第一个成员的key为name的值

foreach循环的第二种方式,as后边如果是 $key=>$val 这种,就会把数组的键赋值给$key,值赋值给$val,比上一种多了key可以使用

好啦,万事俱备,现在让它运行起来吧

$myphp = new MyPhp();

$myphp->actorJoin($persons);

$myphp->introduce();

$myphp->start();

$myphp->action();

$myphp->end();

new MyPhp()会创建一个MyPhp类型的类对象,让一个变量指向这个对象,就可以对这个对象的成员变量和成员方法进行调用和改动了。

看看在浏览器上的输出

1460000017847417

改一改在命令行里让它动态跑一下看效果(怎么弄的不重要)

1460000017847418?w=406&h=347

好啦,回顾一下文章开头的你会收获到什么,你都学会了吗?

不要急,下一节会讲搭建php环境,你就可以自己演个情景剧啦

附:全部代码

//定义变量用 $ 符号

//php是弱类型变量语言,不区分变量的类型

//字符串 被""包围的部分就是字符串

$title = "myphp";

//定义方法 用function关键字

//括号里的是参数,直接用变量表示就可以,在调用的时候接收调用时传来的参数

//.是php中字符串拼接的符号

function show($str)

{

echo $str . "
";

}

//方法直接调用就好

show("hello " . $title);

//exit()方法让整个程序结束

//在""双引号内,可以直接用花括号包裹起来一个变量,这样在被调用的时候变量就会直接在字符串中替换为变量的值,单引号不可以哦

function error($str)

{

echo "{$str}
";

exit();

}

//用[]可以直接创建一个空的数组,然后一一赋值

$person1 = [];

$person1['name'] = '高富帅';

$person1['sex'] = '男';

//也可以直接创建一个有值的数组

$person2 = ['name' => '白富美', 'sex' => '女'];

//这是一个二维数组,也可以用同样的方式创建更多维的数组

$persons = [$person1, $person2];

//定义类用class关键字

class MyPhp

{

//成员变量直接用$符号声明就可以

//public private protected 是成员变量的访问控制权限

//null是php里的空指针的关键字

public $actors = null;

public $music = '我心永恒';

//php中__开头(两个下划线)的函数都是默认自带的函数

//__construct是构造函数,初始化一个类对象的时候会调用这个方法

public function __construct()

{

$this->start();

}

public function start()

{

//time()方法获取一个当前的时间戳

//date()方法接受两个参数,第一个是一个字符串表示格式化格式,第二个参数是一个时间戳,返回格式化之后的时间

$time = time();

show("时间:{$time}");

$date = date('Y-m-d h:m:s', $time);

show("哦~一般人还是看日期好一点 {$date}");

//$this->music 调用成员变量,注意此时成员变量不要加$符号

show("播放片头曲~~{$this->music}");

}

//演员加入

public function actorJoin($actorlist)

{

//is_array()方法判断参数变量是否是数组

//count()方法返回参数数组的长度

//if(){}else{}是条件语句语法,括号内的判断语句如果成立,程序运行if下边大括号内的内容,否则运行else下大括号的内容

if (is_array($actorlist) && count($actorlist) == 2) {

$this->actors = $actorlist;

} else {

error('还有演员没有就位');

}

}

public function introduce()

{

//empty()函数判断数组是否为空,空返回true,也就是正确的意思

//此处没有else,代表如果不满足if的条件,程序直接往下走,不运行大括号内的代码。

if (empty($this->actors)) {

error('大家好我是导演,男女主角偷偷约会还没结束,今天可能来不了了');

}

//foreach循环遍历数组,foreach($arr as $val),就是说对把$arr的所有成员依次赋值给$val,循环的次数就是$arr的长度

foreach ($this->actors as $actor) {

$intro = "我是{$actor['name']},";

//switch语句针对同一地方不同值进行选择,可以避免多次if else,性能和可读性也更好

//switch后跟随的括号表示选择的变量,case后的值和冒号后的代码,表示对应值和要运行的代码,注意要添加break,表示跳出本次判断,不然代码会急需往下运行

//defaul表示没有满足以上规定的case的时候,就运行default的代码

switch ($actor['sex']) {

case '女':

show($intro . "我是女主角。");

break;

case '男':

show($intro . "我是男主角。");

break;

default:

show($intro . "抱歉,我不知道我什么性别。");

break;

}

}

}

public function action()

{

if (empty($this->actors)) {

error('演员临时有事,谢谢大家捧场');

}

//array()函数会返回一个数组,如果没有参数就是一个空数组,也是创建数组的一个方式

//$this->actors[0]['name'] 返回的是$this->actors的第一个成员的name

$play = array();

$play[] = "{$this->actors[0]['name']} 和 {$this->actors[1]['name']} 在街边相遇";

$play[] = "{$this->actors[0]['name']} 深情脉脉的看着 {$this->actors[1]['name']}";

$play[] = "以下省略一万字,请自行脑补......";

$play[] = "全剧终";

//foreach循环的第二种方式,as后边如果是 $key=>$val 这种,就会把数组的键赋值给$key,值赋值给$val,比上一种多了key可以使用

foreach ($play as $key => $val) {

show("第{$key}幕");

show($val);

}

}

public function end()

{

show('片尾曲,撒花完结');

}

}

$myphp = new MyPhp();

$myphp->actorJoin($persons);

$myphp->introduce();

$myphp->start();

$myphp->action();

$myphp->end();

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值