
PHP
老徐WEB
为人诚信开朗,勤奋务实,具有很强的领导组织能力和团队精神 ,专业理论知识丰富,基础扎实,善于思考,自学能力强 ,
创新和实践能力强, 热爱集体,能以大局为重,具有奉献精神。
QQ/VX:398911281
展开
-
phpMyAdmin安装配置方法及问题解决
1、先下载phpMyAdmin安装包:到国外官方网站http://www.phpmyadmin.net 上下载或者搜索一个下载下来就行了,把解压缩文件放到(DocumentRoot "d:/phpweb/htdocs")文件夹里。 2、找到phpmyadmin文件夹里的/libraries/config.default.php文件(旧版本是根目录下的config.inc.php文件转载 2008-12-31 10:12:00 · 1051 阅读 · 1 评论 -
PHP array_merge() 合并数组
array_merge():合并一个或多个数组。把一个或多个数组合并起来,数组元素的值附加在前一个数组的后面。1.如果多个数组中有相同的字符串键名,则该键名后面的值会覆盖前面的值。2.如果有相同的数字键名,则值不会覆盖,而是附加到后面,且键名会顺延。3.如果只传入一个数组,那么此数组里的数字索引将会被重新索引(索引将从0开始)。4.如果不想被重新索引,则可以使用‘+’号,后面相同的键名会被忽略。...原创 2018-10-17 09:57:24 · 1161 阅读 · 0 评论 -
round() floor() ceil()之间的区别及总结。四舍五入、保留小数点后几位、最小取整及最大取整
PHP有对浮点数四舍五入、保留小数点后几位、最小取整及最大取整操作的函数,相应的函数有round(),floor(),ceil()。理解了函数的基本应用,才能更好的灵活应用到工作中,下面对各函数进行介绍并举例。round():对浮点数进行四舍五入,可以设置保留几位小数,默认是零。floor():返回不大于给定数的最接近整数,舍去小数部分取整。ceil():返回不小于给定数的下一个整数。浮...原创 2018-10-12 16:39:28 · 18701 阅读 · 0 评论 -
PHP date() time() 应用总结 - 日期时间计算,格式化,转化,间隔天数
工作中经常碰到日期处理的事情,比如格式化日期、某日期的时间戳、几天后的时间戳、某日期几天前的日期、某日期几天后的日期和日期间相隔天数等。常用到的日期处理函数有date(),strftime(),strtotime(),time(),mktime(),strptime(),localtime(),getdate()。下面就这些函数做简单介绍,并列举一些常用事例。主要理解函数的参数及返回值,再结合事例...原创 2018-09-11 08:15:43 · 1446 阅读 · 0 评论 -
PHP 命名空间
有三个文件,分别是space1.php,space2.php,use.php吧,在同一目录里。//space1.php<?phpnamespace MyNamespace\Factory;class Employees{ private $name; function __construct($nameStr){ $this->name = $nameStr; ...原创 2018-09-10 22:42:17 · 143 阅读 · 0 评论 -
PHP 函数内修改外部变量值
直接上代码,如下:$a_str = 'ab';function change_val(){ global $a_str; // 通过设置全局变量,修改变量值 //$a_str = 'abc'; $a_str = $a_str.'abc';}echo $a_str."<br>";change_val();echo $a_str."<br>";ech...原创 2018-09-07 11:48:41 · 3244 阅读 · 0 评论 -
Windows10 PHP7 运行php-cgi时,提示缺少VCRUNTIME140.DLL
在配置完PHP,Nginx后,运行php-cgi.exe -b 127.0.0.1:9000 -c d:/wnmp/php-7.2.10/php.ini 时,提示缺少VCRUNTIME140.DLL。解决办法:打开页面,下载安装文件。点击DOWNLOAD,然后根据系统选择合适的安装文件,下载后,双击安装即可。安装完成后,重新运行命令。...原创 2018-09-17 16:51:59 · 2059 阅读 · 0 评论 -
PHP 抽象类
<?php//抽象类像一个模板,供子类扩展(重写),抽象类里有普通方法(有方法体),也有抽象方法,其中抽象方法没有方法体,且以分号结束。//只要有一个抽象方法,那么此类必须定义为抽象类。//抽象类不能创建自己的实例,在试图创建抽象类对象时,会产生一个致使错误。//在子类里实现抽象类的方法,并且可见性要等于、高于抽象方法的可见性,抽象类(public|protected|privat...原创 2018-09-09 10:15:16 · 240 阅读 · 0 评论 -
PHP 继承
<?php//继承是子类(派生类)从父类(基类,超类)继承属性和方法。//子类也可以有自己的属性和方法。//一个父类可以被多个子类继承。//如果想修改父类的方法,只能在子类里重写这个方法,这也是多态的体现。//用if($obj instanceof SomeClass){}来检查一个对象是否属于一个类。//如果$name是protected,private访问权限,那么将不能在...原创 2018-09-09 08:55:00 · 652 阅读 · 0 评论 -
PHP arrray_filter(), array_map()区别与应用
array_filter()用回调函数过滤数组中的元素。依次将数组中的元素传递给回调函数,如果回调函数返回true,则被过滤的元素作为返回数组的元素,并最终一起返回。数组的键名保持不变。array_mpa()数组的各元素应用回调函数。各元素应用回调函数后,得到的结果作为array_map()函数最终返回数组的元素。下面简单列举几个例子。function func1($x){ retur...原创 2018-10-28 10:42:52 · 389 阅读 · 0 评论 -
PHP array_reduce()的应用
array_reduce($array,$callback($carry,$item),$initial)用回调函数迭代计算数组元素,并返回最终结果。$carry携带上次迭代的值,如果是本次迭代的第一次,那么这个值是$initial。如果指定了$initial的值,该参数在处理开始前使用,或者处理结束后,被处理的数组为空时,返回此值。<?phpfunction func1($x,$y...原创 2018-10-28 11:18:04 · 792 阅读 · 0 评论 -
程序员应该买几个包子 - PHP版本
几年前的一个段子,大致内容是,老婆给程序员老公打电话说,下班顺路买10个包子,如果看到有卖西瓜的,就买一个。结果这个程序员老公就买了一个包子回家了。最近又在网上看到了,算是突发奇想吧,写了一段PHP程序,用程序还原一下整个过程。一、文件目录结构-/App - 项目根目录 -/Buyer - 执行方,这里模拟了两个人,一个程序员,一个编辑,也可以添加其他人。 -/C...原创 2019-08-19 13:35:54 · 1249 阅读 · 0 评论 -
PhpStorm Xdebug 调试环境,四步搭建成功及踩坑
写在前面:近期搭建了Windows PhpStorm Xdebug的调试环境。搭建过程很顺利,但结果不满意,问题是不能单步调试,一调试就卡住,不往下走了。各配置项翻来覆去调整了好几次,最后找到问题的原因。问题出在Xdebug的版本与PhpStorm的版本不匹配,当时Xdebug是2.7.2,而PhpStorm是2018.2.3。后来我把Xdebug换成2.6.0的版本就可以单步调试了。...原创 2019-07-05 10:19:55 · 1304 阅读 · 4 评论 -
PHP count() empty() isset() 的应用
count() — 计算数组中的单元数目,或对象中的属性个数。对于没有初始化的变量及空的数组都返回0。var_dump(count('aa')); //int(1)var_dump(count('true')); //int(1)var_dump(count(true)); //int(1)var_dump(count('false')); //int(1)...原创 2018-12-31 15:52:50 · 673 阅读 · 0 评论 -
PHP array_diff 应用
array_diff()计算数组差集。array_diff ( array $array1 , array $array2 [, array $... ] ),对比array1和其他一个或者多个数组,返回在array1中但不在其他 array 中的值,键名保留不变。有两点需要注意:1.两个元素值仅在(string)$elem1 === (string)$elem2时被认为是相同的。...原创 2018-12-18 15:21:18 · 512 阅读 · 0 评论 -
PHP in_array() array_search() array_key_exists() 应用
in_array() = 检查数组中是否存在某个值(元素)。in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ),$strict默认为FALSE,是宽松比较。注意:如果$strict设置为TRUE,除了比较大小,还有相同的数据类型。如果找到 $needle 返回true,否则返回false。$os =...原创 2018-12-23 14:23:29 · 2547 阅读 · 0 评论 -
PHP array_shift() 应用
array_shift()将数组开头的单元移出数组,并作为结果返回,将数组长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果数组为空或不是一个数组则返回 NULL。注意:如果元素量很大,这个操作会很耗时,因为要重新计算索引,时间复杂度为O(n);改进方法是先用array_reverse(),再用array_pop()。简单事例如下:$arr = ...原创 2018-11-28 17:36:55 · 649 阅读 · 0 评论 -
PHP parse_ini_file函数的应用与扩展
parse_ini_file($filename, $process_sections = false, $scanner_mode = INI_SCANNER_NORMAL)解析一个配置文件。filename要解析的文件名;process_sections设置为true时,得到一个多维数组,包括配置文件中每一节的名称和设置,默认为false;解析成功返回关联数组,失败返回false。列举一下官网...原创 2018-11-22 15:06:40 · 652 阅读 · 0 评论 -
PHP json_encode() 不转义斜线
json_encode()对变量进行JSON编码,返回JSON形式的字符串,或者失败时返回false。一次再对一个链接地址进行JSON编码时,返回的字符串总是有问题,发现</a>里的斜线被转义了,导致链接结构异常。看了PHP文档,发现json_encode()的第二个参数可以设置成 JSON_UNESCAPED_SLASHES值,然后就可以完美解决问题了。详细如下:$str = ...原创 2018-11-09 17:46:07 · 8559 阅读 · 0 评论 -
windows10 搭建 php7 nginx mysql服务
一、下载 PHP - php-7.0.31: https://windows.php.net/download#php-7.0 -> VC14 x64 Non Thread Safe -> https://windows.php.net/downloads/releases/php-7.0.31-nts-Win32-VC14-x64.zip ...原创 2018-09-03 11:02:09 · 1198 阅读 · 0 评论 -
PHP 单例模式
<?phpclass SinglePatternClass{ private static $_instance = NULL; private function __construct(){} private function __clone(){} static function getInstance(){ if(self::$_instance == NULL...原创 2018-09-07 19:18:23 · 150 阅读 · 0 评论 -
验证码 GD FREETYPE
最近做了一个验证码,开始时一直出不了图片。以为是GD的问题,发现支持GD。最后发现没有freetype扩展,安装freetype。问题解决。原创 2012-12-14 12:00:51 · 463 阅读 · 0 评论 -
PHP 生成 XML 文件时 无效字符的问题
$dom = new DOMDocument("1.0",'utf-8'); header("Content-Type: text/plain");在生成XML文件时,提示无效字符,然后有个错误。修改后问题就解决了。修改成:$dom = new DOMDocu原创 2011-09-01 11:26:47 · 677 阅读 · 0 评论 -
解决PHP+MySQL出现乱码的现象
<br />在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass); mysql_query("SET NAMES 'GBK'"); <br />数据库字符集为utf-8 <br />连接语句用这个mysql_query("SET NAMES 'UTF8'")转载 2011-05-23 22:03:00 · 560 阅读 · 0 评论 -
[php] PHP中遍历关联数组的三种方法
<br />方法1:foreach<br /><?php$sports = array('football' => 'good','swimming' => 'very well','running' => 'not good');foreach ($sports as $key => $value) { echo $key.": ".$value."<br />";}?<br /> <br />方法2:each<br /><?php$sports = array(转载 2011-02-21 14:35:00 · 914 阅读 · 0 评论 -
【转】得到两个文件的相对路径 [php]
<br /> function compara_path($path_a,$path_b){ $array_a = explode('/',$path_a); $array_b = explode('/',$path_b); echo count($array_a); $file_a = array_pop($array_a); $file_b = array_pop($array_b); $a_len = count($array_a);转载 2011-02-21 14:24:00 · 834 阅读 · 0 评论 -
从一个标准 url 里取出文件的扩展名
<br />$url = 'http://www.sina.com.cn/abc/de/fg.php?id=1'; <br /> <br />//解析URL,得到一数组<br />$p_url = parse_url($url); /*Array<br />(<br /> [scheme] => http<br /> [host] => www.sina.com.cn<br /> [path] => /abc/de/fg.php<br /> [query] =>原创 2011-02-19 14:25:00 · 828 阅读 · 0 评论 -
samba 开机自启动
<br />vim /etc/rc.d/rc.local<br />在文件里添加一行<br />/etc/init.d/smb start <br />路径要根据自己的情况来定,原创 2011-02-17 17:48:00 · 1497 阅读 · 0 评论 -
Apache PHP利用HTTP缓存协议原理解析及应用
原文:http://www.phpx.com/tech/php/2009-01-29/286.html下面是截取得apache返回客户端的头 --------- Last-Modified: Fri, 26 Jan 2007 01:53:34 GMT ETag: "3f9f640-318-cb9f8380"转载 2009-10-23 11:45:00 · 641 阅读 · 0 评论 -
php5.3不支持eregi()函数了
写正则的时候可能会碰到用ereg()时出现错误,如:Deprecated: Function eregi() is deprecated ××××××××,原因就是php5.3已经不支持ereg(),可以用preg_match() i 参数替代,比如:ereg(“^[[:alnum:]]+$”, $pass); ——> preg_match(“/^[[:alnum:]]+$/i”, $转载 2012-12-17 20:08:01 · 640 阅读 · 0 评论 -
如果你的程序没有改动,但系统已经出现问题了,请考虑以下情况。
如果你的程序没有改动,但系统已经出现问题了,这个时候应该考虑以下情况。1.数据问题 a.数据库权限不对 b.数据被删除了2.磁盘问题 a.磁盘空间不足3.网络问题 a.网络中断 b.网段之间不通4.服务器问题 a.apache停掉了5.机器问题 a.机器宕机了原创 2013-08-12 17:56:20 · 629 阅读 · 0 评论 -
php date()
在程序中常会用到date()来显示时间,比如:echo date('Y-M-d H:i:s').""; // 当前时间echo date('Y-M-d H:i:s',time()).""; // 当前时间有时也会用到一定时间前的时间,比如:echo date('Y-M-d H:i:s',strtotime('-5 seconds')).""; // 5秒之前的时间echo原创 2017-03-10 14:18:12 · 375 阅读 · 0 评论 -
win7 lamp Fatal error: Class 'Locale' not found
出现这个错误是因为php没有支持intl扩展。pv原创 2014-09-25 15:05:59 · 2012 阅读 · 0 评论 -
把XML转换成数组最简单方法
<?php$str='';$res = @simplexml_load_string($str,NULL,LIBXML_NOCDATA);$res = json_decode(json_encode($res),true);print_r($res);?>转载 2014-06-03 10:37:28 · 1443 阅读 · 0 评论 -
PHP模拟多线程请求
<?php multi_threads_request($nodes){ $mh = curl_multi_init(); $curl_array = array(); foreach($nodes as $i => $url) { $curl_array[$i] = curl_init($url); curl_setopt($curl_array[$i转载 2014-06-03 10:45:02 · 844 阅读 · 0 评论 -
window 环境安装 memcache 服务及简单测试
memcached.exe 下载 http://www.newasp.net/soft/63735.html#downloadsphp_memcache.dll 下载 http://www.zhaodll.com/dll/p/201207/147016.htmlwindows 下安装 memcached.exe1.把下载的文件解压到c盘,如:c:\memcached.exe原创 2013-08-29 09:59:47 · 602 阅读 · 0 评论 -
Windows 10 PHP 7.0 安装redis扩展,只需要注意四点就能完美避坑。
这四点信息都是跟你安装的PHP相关,PHP版本、PHP相应的系统位数(x64,x86)、NTS、VC14,具体请看下面截图。相信你看到这个截图,不会陌生。根据上面的四点信息,去下载redis扩展。1.点击https://windows.php.net/downloads/pecl/releases/igbinary/2.0.8/下载php_igbinary-2.0.8-7....原创 2019-08-12 11:46:22 · 707 阅读 · 0 评论