一、文件、目录 1、is_file();//文件是否存在 2、is_dir();//目录是否存在 二、函数、类、接口 1、function_exists();//函数是否存在 bool function_exists...检查接口是否已定义 bool interface_exists ( string $interface_name [, bool $autoload ] ) 4、method_exists() ;// 检查类的方法是否存在
/不转换 ---- 0x04 mysql_real_escape_string() 转义SQL字符串中的特殊字符 转义 \x00 \n \r 空格 \ ' " \x1a,针对多字节字符处理很有效。...reference: http://php.net/manual/zh/function.parse-url.php 绕过的方式用多个///// 原因:对严重不合格的 URL, parse_url().../php/func_string_sha1.asp sha1()不能处理数组,当为数组的时候返回bool(false) ---- 0x07 md5() md5() 函数计算字符串的 MD5 散列 refernece...r,��b 也就造成了md5注入 当传入的参数时数组的时候,和上述的sha1()一样的返回false ---- 0x08 strpos() strpos() 函数查找字符串在另一字符串中第一次出现的位置...这一点常在CTF中考到 stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写) strripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写) strrpos
Tips:在PHP函数中使用全局变量,要通过global关键字将这个 全局变量包含到函数中才能使用 $a = 1; $b = 2; function demo($a = '') { //global...静态变量只能在函数或类中声明,不能在全局声明 function demo($a = '') { static $a = 0; //定义静态变量 $a++; echo "$a中的第N个参数 function Test() { echo func_get_arg(...A,但是我们不直接去调函数A, 而是在函数B中去调用函数A,函数B通过接收函数A的 名字和参数来实现对函数A的调用,函数A称为回调函数。...回调函数的实现方法 php提供了两个内置函数call_user_func()和 call_user_func_array()提供对回调函数的支持 //mixed call_user_func_array
php sum(1); function sum($a,$b=6) { $c=$a+$b; echo($c); } ?> 效果:7 如果在实际工作中,实际参数的数量多于了形式参数怎么办呢? 效果:3 可变参数: 可变函数:一个变量的值刚好是一个函数的名 字,那么在调用的时候,就可以通过变量来调用函数。 我代码示例把: php $a="lw";//一个变量的值等于 $a();//一个变量的名啊(核心:加个括号即可) function lw() { echo "贵哥牛逼"; } ?> 效果:贵哥牛逼 匿名函数; 效果:贵哥牛逼 变量的作用域: 有了函数之后,变量就有了作用域的区分,包括:全局变量、局部变量、超全局变量。 全局变量:定义在函数外部,只能在函数外部使用。...(外面我是老大)) 局部变量:定义再函数内部,只能在函数内部使用。(内部我是老大) 超全局变量:PHP定义好的,我们直接使用就可以了。(内外部我都是大佬,说一不二的) <?
JavaScript中的函数定义: //定义函数jiSun function jiSuan(){ alert("这是函数jiSuan"); } //调用函数...function是定义函数,并不会执行,调用函数时才会寻找该函数名的定义内容。 JavaScript中函数的定义和调用先后顺序可以先写调用在写定义。...(3); JavaScript中的常用函数: document.write(""); 输出语句 Math.random();获取0-1之间的随机数 document.write(Math.random...="hello world"; var s="l"; //返回字符在字符串中第一次出现的位置 document.write(str.indexOf(s)); //返回指定位置的字符...如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
对于dataframe格式的数据: 1、data.value_counts():统计数据出现的次数 2、data.query("label==0"):按指定条件查询数据 3、data.plot():可视化...dataframe格式的数据 4、pandas.get_dummies(data):将某列数据用one-hot编码表示 5、pandas.concat([data1,data2],axis):将data1...的维度上进行拼接 6、data.fillna(0):将缺失数据用0填充 7、data.isna():查询缺失值的那些数据,比如pandas.isna(dfdata['Age']).astype('int32...')将名为'Age'那列的数据的缺失值用1表示 陆续更新,遇到了就记一笔,慢慢积累
在PHP中getenv(参数)函数是一个用于获取环境变量的函数,根据提供不同的参数可以获取不同的环境变量,具体如下: “PHP_SELF” 当前正在执行脚本的文件名,与document root 相关。...“SERVER_SOFTWARE” 服务器标识的字串,在响应请求时的头信息中给出。 “SERVER_PROTOCOL” 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。...“QUERY_STRING” 查询(query)的字符串(URL 中第一个问号? 之后的内容)。 “DOCUMENT_ROOT” 当前运行脚本所在的文档根目录。在服务器配置文件中定义。... 服务器常量中。...“PHP_AUTH_DIGEST” 当作为Apache 模块运行时,进行HTTP Digest 认证的过程中,此变量被设置成客户端发送的“Authorization”HTTP 头内容(以便作进一步的认证操作
该选项可在运行的时改变,在 PHP 中的默认值为 off。 代码示例: 的get函数,可以对php环境中是否设置了他们相应功能特性进行探测,如:get_magic_quotes_gpc,是对magic_quotes_gpc是否设置的探测,get_magic_quotes_runtime...3.不能在程序里面设置magic_quotes_gpc的值,原因是php中并没有set_magic_quotes_gpc这个函数,而magic_quotes_runtime有对应的能在代码中直接设置magic_quotes_runtime...0X08 mysqli_real_escape_string/mysqli_escape_string –> (PHP >= 5 ,PHP 7) 此函数用来对字符串中的特殊字符进行转义, 以使得这个字符串是一个合法的...尽管你可以在构造函数里设置字符集(charset ),但你也要注意旧版本的PHP(中设置的字符集参数。 解释 到底发生了什么呢?
回调函数和匿名函数 回调函数、闭包在JS中并不陌生,JS使用它可以完成事件机制,进行许多复杂的操作。PHP中却不常使用,今天来说一说PHP中中的回调函数和匿名函数。...通俗的解释就是把函数作为参数传入进另一个函数中使用;PHP中有许多 “需求参数为函数” 的函数,像array_map,usort,call_user_func_array之类,他们执行传入的函数,然后直接将结果返回主函数...好处是函数作为值使用起来方便,而且代码简洁,可读性强。 匿名函数: 匿名函数,顾名思义,是没有一个确定函数名的函数,PHP将匿名函数和闭包视作相同的概念(匿名函数在PHP中也叫作闭包函数)。...它的用法,当然只能被当作变量来使用了。 PHP中将一个函数赋值给一个变量的方式有四种: 我们经常会用到的:函数在外部定义/或PHP内置,直接将函数名作为字符串参数传入。...这个我在之前的博客中也有介绍到:搭建自己的PHP框架心得(二) 总结 其实以上$callback不用单独定义并使用变量引用,使用上面说过的第四种函数定义方式,直接在函数内定义,使用‘完全’匿名函数就行了
在日常开发中,我们经常碰到这样的问题,即有些PHP问题看似简单,一说就明,但是一到使用时就踩坑。...比如,下面我所列的几条: 1、由于使用单引号,以“ ”为分割符,使用PHP函数explode分割字符串,不能正常分割。 原因:这个涉及到单引号与双引号的区别,在单引号中反斜杠不能被解析。...类似问题还有字符串中包含{}的情况。在字符串中,要想使使用了{}包含的变量成功解析,该字符串必须使用双引号。 2、由于BOM头,使用PHP函数json_decode解析json字符串,不能解析成功。...3、由于正反斜杠的原因,PHP函数basename使用无效 我们经常使用PHP函数basename,来从一个包含有指向一个文件的全路径的字符串中获取基本的文件名,但是由于正反斜杠的原因,有时你会发现basename...另外吐槽一下JAVA,==居然比较不了字符串是否相等,因为字符串是一个对象,==变成了判断是否为同一个对象…… 9、不能把switch中的case当作if来使用 在PHP函数switch……case中,
PHP中PRGE正则函数的学习 正则表达式的作用想必不用我多说了,大家在日常的开发中或多或少都会接触到。特别是对于一些登录(邮箱、手机号)以及网页爬虫来说,正则表达式就是神器一般的存在。...在 PHP 中,有两种处理正则表达式的函数,今天我们就来学习其中的一种。...回调替换 除了上面的替换之外,PRGE 的函数库中还有回调式替换的函数,也就是能让我们自定义替换之后的返回结果。...这个函数中的参数就是匹配到的结果,上面的测试代码中我们全部打印了出来。然后给这个函数一个 return 返回值,就是对应地去把替换的结果返回到原值中。.../2021/03/source/6.PHP中PRGE正则函数的学习.php on line 332 // 1 // print_r(preg_last_error_msg()); // php8 而在
PHP中的垃圾回收相关函数 之前我们已经学习过 PHP 中的引用计数以及垃圾回收机制的概念。这些内容非常偏理论,也是非常常见的面试内容。而今天介绍的则是具体的关于垃圾回收的一些功能函数。...), PHP_EOL; // 706488 从上面的代码中可以看出,我们 unset() 掉 $a 之后,内存直接就减少了。...; // 706488 在这段代码中,我们对 \d 进行了一个简单的循环引用赋值。...,然后使用 gc_status() 来查看当前垃圾回收器中关于循环引用的状态。...这个函数可以在测试环境中对代码的运行情况进行检查,查看我们代码中有没有不正常的循环引用情况,当然,上面的解释也只是个人的推测,因为关于这方面的资料确实非常少。
phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有用;以下是redis官方提供的命令使用技巧: 下载地址如下: https://github.com/owlient.../phpredis(支持redis 2.0.4) Redis::__construct构造函数 $redis = new Redis(); connect, open 链接redis服务 参数 host...->hExists(‘h’, ‘a’); 名称为h的hash中是否存在键名字为a的域 hIncrBy $redis->hIncrBy(‘h’, ‘x’, 2); 将名称为h的hash中x的value增加...php /*1.Connection*/ $redis = new Redis(); $redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为...中域的数量。
PHP中的网络组件相关函数 作为一门以 WEB 开发为主战场的编程语言来说,PHP 即使是在目前这个大环境下,依然也是 WEB 领域的头号玩家。...我们在网络相关的功能中也提供了许多方便好用的函数组件,而且它们都是不需要安装扩展就能够使用的。今天,我们就来学习了解一下。 获取服务器相关信息 首先就是获取一些服务器相关信息的能力。...主机 IP 信息 一般要查看某个域名的解析对应 IP ,我们可以通过系统的 PING 命令来快速查看,而在 PHP 中,也有对应的函数可以获得某个域名指向的主机 IP 信息。...而 headers_list() 则会显示我们或者 PHP 程序中额外添加的头信息内容,比如 X-Powered-By 这个信息是默认情况下 php -S 这个简单服务器命令自带的一个头信息。...总结 在官方文档中的网络相关的扩展函数就是这些了,当然,还有一个大头我们没有介绍,那就是 socket 相关的内容。
匿名函数中的use,其作用就是从父作用域继承变量。 下例是最常见的用法,如果不使用use,函数中将找不到变量$msg。 中定义 func时,没有找到外部的 func时,没有找到外部的msg,所以函数运行时$msg就是未定义变量。...---- 关于use中使用引用传值 我们知道,在匿名函数的use中如果使用引用传值,那么匿名函数中对参数值的改变会同样影响外部相应变量。比如下面的例子: 函数中变量值的改变同样会影响到外部相关变量。...---- 关于class中匿名函数里的this及use <?
PHP中的日期相关函数(三) 之前我们已经介绍过了 PHP 的一些相关的日期操作对象,今天我们就来学习剩下的那些面向过程的使用方式。...获取及设置时区 关于时区内容的学习,我们在 DateTimeZone 类的学习中已经详细的讲解过了,在面向过程的方式中,我们也可以通过两个简单的函数来获取和设置当前系统运行环境的时区信息。...,它是有优先顺序的,最优先的是使用 date_default_timezone_set() 设置的时区,然后是 php.ini 文件中所设置的时区信息,最后如果都没有设置的话,就会根据操作系统的时区设置来确定最终我们运行环境中的时区到底是哪里...当然,学习只是一方面,首先你要记得在 PHP 中已经提供了这些函数,然后再在实际的业务场景中进行应用,这样才能说是真正地熟练地掌握了这些内容,别的不多说了,赶紧用起来吧。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202010/source/1.PHP中的日期相关函数(三).php 参考文档
PHP中的日期相关函数(二) 上回文章中我们介绍了三个时间日期相关的对象,不过它们的出镜频率并不是特别地高。今天学习的对象虽说可能不少人使用过,但是它的出镜频率也是非常低的。...它们其实就是我们非常常用的那些面向过程的日期函数的面向对象式的封装。...; echo $interval->format('%R%a days'), PHP_EOL; // 18 days // -18 days diff() 方法就是返回两个日期之间的差值,相信这个方法不少人使用过它的面向过程的函数...,也就是 date_diff() 函数,相对于其它方法来说,它的出镜率就非常高了。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/13.PHP中的日期相关函数(二).php 参考文档
PHP中的日期相关函数(一) 日期相关的操作函数是我们在日常的工作开发中最常接触到的功能。...本身在对手册文档的学习中,就是要发掘有意思的或者没有接触过的一些功能函数,所以我们今天的学习的函数可能是大家都没怎么用过的,甚至可能很多大家都没见过的。 时区类相关函数 首先就是时区类的一个对象。...这里我们给的就是通用的中国时区的设置,虽说我们的国际标准时区是东八区的北京时间,但在 PHP 中的时区格式中,我们的时区是以上海为命名的。...具体的规则大家还是去看文档中的说明:https://www.php.net/manual/zh/dateinterval.construct.php。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/12.PHP中的日期相关函数(一).php 参考文档
php $test1 = function($value) { echo $value; }; $test1('HelloWorld'); ?> 不懂你们有没有一种感觉,看见了js?...近视的我,看到了function 就以为js… 好了,你看看最开始,是不是一个test1变量右边一个赋值符号,然后赋值符号(=号)的右边是一个函数?...这个函数接收一个参数value,那么这个就是匿名函数,我们使用的时候直接用test1就OK了。...我们函数里面的内容是输出我们参数,我们使用test1传入参数‘HelloWorld’我们运行以下,发现输出了HelloWrold 如果我们要使用这个匿名函数之外的变量,如以下代码,我们要使用use语言结构...php $n=1; $test1 = function($value)use ($n) { echo $value.' and '.
然后介绍基本用法和使用场景,让读者对其有大体了解,为实际使用中奠定基础。 字节和字符 PHP的优势是简单易用,熟练运用 字符串 和 数组 相关函数就能抗住一般的需求。...日常工作中多用到字符串,所以PHP开发对字符都比较熟悉,稍微资深点基本能也能弄清字符编码。但字符的伴生概念:字节,不少PHP开发并不知晓/熟悉。 这不怪他们。...本节从问题引出 pack 函数的使用。 问题 考虑一个简单的问题:宇宙的终极答案 42 在内存中是如何表示的(或者说怎么获取其字节数组)?...除这两个函数,字节数组(或二进制数据)向数据的转换几无可能(如果有请不吝指教)。 现在我们用 pack 函数获取42在内存中的字节数组。...不同之处在于 pack 函数的格式中 不能出现元字符和量词外的其他字符 ,所以不需要 % 符号。