php学习笔记

admin 2025年1月26日12:22:49评论5 views字数 3486阅读11分37秒阅读模式
php学习笔记
php学习笔记
php学习笔记
鼎新安全

don't give up and don't give in !

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

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

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

3.php 使用系统内置函数

4.php 文件包含函数

5.php 数学常用函数

php 自定义函数之递归函数
01

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

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

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

一些新手常有的思维盲区

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

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

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

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

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

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

做个题目

  1. 应用题~~

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

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

用php代码解出来

php学习笔记

php 自定义函数之静态变量
02

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

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

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

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

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

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

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

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

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

php 使用系统内置函数
03

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

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的源文件,一个为目标文件。第三个参数可选的,不常用,我们不管它。php学习笔记php学习笔记

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

我们来看这个函数:

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

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

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

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

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

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

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

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

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

我们来看看。

功能:

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

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

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

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

php学习笔记php学习笔记这是适用版本号。

php 文件包含函数
04

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

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

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

<?php//functions.php文件function demo(){   echo 'aaaa';}function test(){   echo 'cccdddd';}?>

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

<?php//user.phpinclude 'functions.php';//可以直接调用demo();test();?>

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

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

<?php//user.phpinclude 'functions.php';include 'test.php';//可以直接调用demo();test();?>

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

<?php//user.phpinclude 'functions.php';require 'test.php';//可以直接调用demo();test();?>

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

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

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

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

php 数学常用函数
05

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

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

php学习笔记

php学习笔记
END
php学习笔记

注:鼎星安全有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

原文始发于微信公众号(鼎新安全):php学习笔记

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月26日12:22:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   php学习笔记https://cn-sec.com/archives/3677445.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息