当前位置: 首页 > article >正文

want php学习笔记

前言:刚学ctf得小白,前言:刚学ctf得小白,一定要有学习路线 php基础:php学习基础文字教程,学习php先从基础开始,php入门:php学习必看的入门视频教程,学完能够做一些基础性的web开发,php提高:php开发高级教程及经验总结,包含一些知识点的归纳总结,以及开发经验总结。

学习

1.php自定义函数之递归函数

2.php自定义函数之静态变量

3.php 使用系统内置函数

4.php 文件包含函数

5.php 数学常用函数

php自定义函数之递归函数

单纯听名字,完全没有头绪,什么是递归,

递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。
当函数在一直递推,直到遇到结束条件后返回。
所以递归要有两个要素,结束条件与递推关系

如自增一般,加入这个函数是加1,然后再调用它自身做到加1,直到加到我们想要的数,结束。

一些新手常有的思维盲区

1.代码是从上到下执行的,所有代码没有exit等停止符,函数必须执行完。

2.如果函数从函数A跳至函数B后,必须把函数B执行完成再执行函数A余下的代码。

3.递归函数必须要能执行完有结束条件,不然函数就会限入死循环。函数会永远的自我执行下去。

1.执行函数A到一半的时候,跑去执行了函数B

2.执行完函数B,先显示出来的是:“我要学习,”,接着显示的才是:“我们需要不断的努力,努力到上天都为我们感动”

3.也就是证明了我们所说思维盲区里面的内容,代码从上到下执行,代码必须执行完。

做个题目

  1. 应用题~~

小明为了学好英语,需要每天记单词,第一天记1个,第二天记2个依次类推,请用代码完成,算出小明第10天开始的时候会了多少个单词?

分析:
墙(结束条件)是“第一天记1个”
递推关系是“第n天记的单词= 第n-1天记的单词数量+n"

用php代码解出来

php自定义函数之静态变量

如果我想知道函数被调用了多少次怎么办?在没有学习静态变量的时候,我们没有好的办法来解决。

静态变量的特点是:声明一个静态变量,第二次调用函数的时候,静态变量不会再初始化变量,会在原值的基础上读取执行。

有了这个特点,我们就可以实现,最开始我们的提问:
函数调用词数的统计。

先执行10次demo()函数试试,再执行10次test()函数试试:


test();执行一次数值就会加1,而demo输出的显示结果,始终为0。

这里要和自定义的常量做区分

.php中静态变量是指用static声明的变量,这种变量与局部变量的区别是,当静态变量离开了它的作用范围后,它的值不会自动消亡,而是继续存在,当下次再用到它的时候,可以保留最近一次的值.

如果用局部变量的方式来分工这段代码,两次的输出应该都是1.但实际输出却是1和2.

这是因为,变量i在声明的时候被加上了一个修饰符static,这就标志着i变量在add()函数内部就是一个静态变量了,具备记忆自身值的功能,当第一次调用add时,i由于自加变成了1,这个时候,i就记住自己不再是0,而是1了,当我们再次调用add时,i再一次自加,由1变成了2.由此,我们就可以看出静态变量的特性了.

3.php 使用系统内置函数

内置函数的基本用法的全部注意事项:

1.直接返回布尔型,如bool copy ()

2.带有MIXED参数的函数如何调用。Mixed表示任何类型的数据。如Array_unshift()

3.参数中带有&符的参数,一定要传一个变量做为参数。函数里面改变了他的值。

4.带有[]的参数,表示可选项。

5.带有…的参数,表示可以传任意多个参数。

6.带有callback的参数,表示回调函数。需要传一个函数进来。Array_map()

7.函数支持的版本你要了解

我们拿copy这个函数来看:

bool copy ( string $source , string $dest [, resource $context ] )

这个函数的功能为: 拷备一个文件
返回值为为: bool型值,就是成功返回true,失败返回false
参数为: 两个字符串的值,一个是copy的源文件,一个为目标文件。第三个参数可选的,不常用,我们不管它。

2,Mixed表示任何类型的数据。如Array_unshift()

我们来看这个函数:

int array_unshift ( array &$array , mixed $value1 [, mixed $… ] )

功能: 操作一个数组,向数组中之前插入其他类型的参数。

返回值: int 类型,可能就是插入成功最后的个数

参数: 第一个参数为&符,也就是在操作的过程中,改变了第一个参数的值。引用传参。也就是操作这个数组,向这个数组中传入参数。会直接改变这个数组的值。

第二个参数为mixed,因为数组可以存入多个不同的类型.mixed是指混合的意思。因此,mixed是指可传入任意类型

第三个数数加了中括号,我们所有遇到中括号的。都是指后面的参数可传,也可以不传。

第四,最后还看到了三个…(省略号)。代表可以传入任意多个参数。

3, 遇到callback的传函数或者匿名函数进去协助处理,让功能更强大。

bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )

我们来看看。

功能:

传入一个回调函数,将数组的原来的组操作,并且发生变化。

返回值:
bool 值 也就是意味着,提示成功或者失败

参数:
第一个参数是要操作的数组。

第二个参数是callback 代表着可以传入函数或者匿名函数。

这是适用版本号。

4.php 文件包含函数

非常常用用的一个函数,将文件导入的函数。

常常需要把程序中的公用代码放到一个文件中,使用这些代码的文件只需要包含这个文件即可。这种方法有助于提高代码的重用性,给代码的编写与维护带来很大的便利。在PHP中, 有require、require_once、include、include- once四种方法包含一个文件。

include包含函数的功能。 创建一个functions.php文件,里面写上两个函数:

<?php
//functions.php文件

function demo(){
   echo 'aaaa';
}

function test(){
   echo 'cccdddd';
}

?>

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

<?php

//user.php

include 'functions.php';

//可以直接调用
demo();

test();

?>

我通过过上例我们知道了include的功能。接下来我们对比include和require:

代码中,我们先用include 来包含不存在的test.php文件,

<?php

//user.php

include 'functions.php';
include 'test.php';

//可以直接调用
demo();

test();

?>

再用require包含 不存在的test.php文件:

<?php

//user.php

include 'functions.php';
require 'test.php';

//可以直接调用
demo();

test();

?>

通过上例的对比我们发现:

如果test.php文件不存在include 会发出警告继续执行demo()和test()函数。

而requre则直接报错,demo()和test()函数无法继续执行。

我们通过表格知道了:inlcude 和include_once的区别在于,检测是否重复包含。如果重复包含了include_once不会再包含 对应的文件了,而include 则不管这些。有没引入过文件,都再引入一次。

5.php 数学常用函数

在PHP程序中常常需要进行数据处理运算,这就需要使用数学函数。数学函数是最简单、最常用的系统函数。以数学函数为例讲解系统函数的调用方法。

这些不用大家全部掌握,你看一遍知道PHP的数学函数里面为大家准备了这么多就可。以后需要的时候,直接来用。
大家只需要记最常用的一些即可,我将最常用的列表列给大家:


http://www.kler.cn/a/461112.html

相关文章:

  • 【mysql】linux安装mysql客户端
  • 计算机体系结构期末考试
  • PDF怎么压缩得又小又清晰?5种PDF压缩方法
  • WPF合并C1FlexGrid表格,根据多列的值进行合并
  • JavaWeb开发(二)IDEA创建Java Web项目并部署及目录结构
  • Applied Spatial Statistics(十三)带有空间平滑器的 GAM
  • 批量新建工作表,带个性化模板一步到位-Excel易用宝
  • 12.29~12.31[net][review]need to recite[part 2]
  • 电脑主机后置音频插孔无声?还得Realtek高清晰音频管理器调教
  • 【题解】AT_abc386_d AtCoder Beginner Contest 386 D Diagonal Separation
  • 【每日学点鸿蒙知识】List+Swipe滑动冲突、下拉刷新、编译错误定位、监听生命周期、上架应用市场要求
  • 分布饼状图——开发解释——未来之窗行业应用跨平台架构
  • 零售小程序怎么自己搭建?开个小卖铺如何留住客户?
  • mybatisPlus基础
  • 服务器数据恢复—磁盘阵列中多块硬盘离线导致存储中数据无法访问的数据恢复
  • SpringMVC中的拦截器
  • MVC 架构学习笔记
  • CUTLASS:高性能 CUDA 线性代数模板库详解
  • 过圆外一点与圆相切的直线
  • 表单验证不生效