菜单

关于php函数参数的值传递($)和引用传递(&$)区别最直观的介绍

按值传递和按引用传递是php中函数参数的两种传递方式,两者的主要区别是在函数内对传递进来参数的操作是否会影响函数外该参数的值。 值传递 只使用符号$,对传入的值进行复制操作,使得参数和传入的值成为两个独立的个体,在函数内对传递进来的参数作任何操作都不会影响该参数在函数外的值。 示例: $value = 'a'; function test($value){ $value = 'b'; } test($value); echo $value; 输出的值是 a 引用传递 使用符号&$,把传入...

php获取今天/昨天/上周/本周/本月的开始时间戳和结束时间戳

一些网站常用的期间段时间戳,通常用来统计今天、本周、当月网站数据。 //php获取今日开始时间戳和结束时间戳 $today_start=mktime(0,0,0,date('m'),date('d'),date('Y')); $today_end=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; //php获取昨日起始时间戳和结束时间戳 $yesterday_start=mktime(0,0,0,date('m'),date('d')-1,date('Y')); $yesterday_end=mktime(0,0,0,...

php str_replace替换修改mysql数据字段序列化内容中的域名

serialize() 函数序列化后存储在数据库的值,不能通过 mysql replace 直接批量替换修改其中的内容,想批量替换序列化后的内容,可以使用 php 的 unserialize() 函数对内容进行反序列化,然后使用 str_replace() 函数替换,再 serialize() 序列化后存储进数据库。 如 数据库表 table_post 字段 post_meta 的值: a:4:{s:8:"thumbnail";s:73:"http://www.tddx.net/uploads/2022/01/626086271217.jpg";} ...

PHP使用array_filter()函数删除数组中空值的元素

使用foreach循环输出数组时,习惯使用if判断来过滤空元素,这种方法并不高效,如果数组中有很多空元素,会导致多余的foreach。合理的做法应该是数组中的空元素删除后再foreach。 删除数组中的空元素可以使用array_filter()函数,array_filter()函数的作用是用回调函数过滤数组中的元素,如果没有回调函数,默认就删除数组中值为false、null或空值的元素。 示例: <?php $arg = array( 0 => '', 1 => false, 2 => null, 3 =...

PHP转义HTML字符符号函数htmlentities()

php在网页中输出字符串时,通常需要把字符串中的 HTML 字符转义为 HTML 实体,如“&”转义为“&amp;”、“<”转义为“&lt;”等,避免和页面上存在的符号发生作用,保证页面的正常显示以及安全。 PHP 中可以使用 htmlentities 函数转义HTML字符,htmlentities 函数会转化所有的 html 代码,包括无法识别的中文字符也会转义。 函数语法 htmlentities(string, flags, character-set, double_encode) 参数说明 stri...

php代码前面的@符号有什么作用,@运算符作用说明

@符号在php代码中用于屏蔽/忽略表达式生成的错误提示信息,@运算符只对表达式有效,可以用在变量、常量、函数和 include() 中调用,但不能用在函数或类的定义之前,也不能用在条件结构(如 if 和 foreach 等)。 通俗地理解就是:使用@符号后,@符号后面的语句即使有错误,也不会进行错误提示。 如果启用了track_errors功能,则表达式生成的错误消息将保存在变量 $ php_errormsg 中,每个错误都会覆盖此变量。 代码示例: $getSize = @filesize('../default.jpg'); fil...

php删除array数组中指定元素的方法

删除php数组中的单个元素使用unset()或array_splice()方法,array_splice()在释放数组指定元素上与unset()函数取到相同作用。 删除数组中的多个元素则使用array_diff()或array_diff_key()方法。 提示:知道值(value),不知道键(key),可以使用array_search()方法来获取键(key)。 删除单个元素 unset()方法 提示:使用unset()方法删除数组元素,不会改变其他的键(key)。 <?php $array = array(0 ...

php运算符++和--在变量前后的区别

运算符++和--是两种很常用的运算符,在php语言中分别表示递增和递减,++和--运算符可以放在变量前面也可以放在后面,但是两者的运算是有区别的。 ++$a 表示$a的值先加1,然后再返回加1后的$a $a++ 表示先返回$a,再给$a的值加1 --$a 表示$a的值先减1,然后再返回减1后的$a $a-- 表示先返回$a,再给$a的值减1 示例一: <?php $a = 1; echo $a++; // 返回1 echo $a; // ...

__autoload()函数和spl_autoload_register()函数说明

__autoload()函数在php7中已经被弃用,建议使用spl_autoload_register()函数代替。 1、__autoload()函数 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面例子: AutoLoad.php文件代码 <?php class AutoLoad { function getAoto() { echo 'hello world'; } } index.php文件代码 <?php function __auto...

通过php.ini修改PHP上传文件大小限制的教程

默认php文件上传大小会有限制,如果要上传超过php限制的大小的文件,则需要修改。 1、在php安装目录下找到php.ini文件并编辑 2、查找post_max_size并修改值为120M(或更大,根据自己的需要) post_max_size=120M 解析:post_max_size设定POST数据所允许的最大大小,因此该设定会影响到文件上传,post_max_size默认值为2M,如果POST数据尺寸大于post_max_size,$_POST和 $_FILES superglobals 便会为空。 3、查找upload_max_fil...

php获取一维数组的长度

php为我们提供了两个函数可以计算一维数组长度,分别是count和sizeof,这两个函数都可以直接统计数组长度。 $arr = Array('0','1','2','3','4'); echo count($arr); // 输出 5 $arr = array('A','B','C'); echo sizeof($arr); //输出3 sizeof()和count()具有同样的用途,两个函数都可以返回数组元素个数,可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0。 两函数功能...

php错误提示Fatal error: Can't use function return value in write context的解决方法

打开项目时,页面出现提示Fatal error: Can't use function return value in write context in....,这个错误的意思是: 不能使用函数返回值作为参数 出现错误的代码是: if(!empty(meta($id,'ad',true))){ echo '...'; } 错误的原因是:empty()函数用于检查变量是否为空,同时只能用于检查变量,不能检查变量以外的东西,否则就会导致解析错误,比如上述代码中的使用了meta($id,'ad',true)函数返回值作为参数,因此导致错误...