[PHP]数组移除某个值的两种方式

php中从数组中移除某个值,可以有两种方式,一种是常规的遍历比值然后移除,另一种是利用array_diff函数。

先利用是利用遍历数组的方式写了个函数:

function array_delete_value($array,$delete_value){
	foreach ( $array AS $k=>$v ) {
		if ( $v === $delete_value ) {
			unset($array[$k]);
		}
	}
	return $array;
}

用法:array_delete_value(原数组,待移除的值);

两种方式的使用:
1.利用自定义函数:

<?php
$del	=	'';
$t		=	0;
function array_delete_value($array,$delete_value){
	foreach ( $array AS $k=>$v ) {
		if ( $v === $delete_value ) {
			unset($array[$k]);
		}
	}
	return $array;
}
for ( $i=1;$i<5000;$i++ ) {
	$s1		=	microtime(true);
	$file2	=	array('','net920','cn','','xxxx','kkkk','sdfasd','53453','sdfsadfsafddsaf',0);
	$file2	=	array_delete_value($file2,$del);
	$s2		=	microtime(true);
	$t		=	$t + ($s2-$s1);
}
echo number_format($t/$i,10);
print_r($file2);
?>

2.利用array_diff函数:

<?php
$del	=	'';
$t		=	0;
for ( $i=1;$i<5000;$i++ ) {
	$s3		=	microtime(true);
	$file	=	array('','net920','cn','','xxxx','kkkk','sdfasd','53453','sdfsadfsafddsaf',0);
	$file	=	array_values(array_diff($file, array($del)));
	$s4		=	microtime(true);
	$t		=	$t + ($s4-$s3);
}
echo number_format($t/$i,10);
print_r($file);
?>

从效率上来说,使用自定义方式效率稍微高一点点,不多,呵呵。看情况来决定吧,自定义函数方式不会改变键名,第二种方式会改变键名。

Foxmail无法发送邮件的解决办法

一直以来在客户端收发邮件都是使用Foxmail,用着比较舒服。目前还在使用6.5版的,虽然也装了7.0但还未使用,准备换操作系统后用。

最近用foxmail发邮件总失败,开始是用sohu的邮箱有问题,以为是连接SMTP服务器的问题或者foxmail设置有问题,搞了很久也不行,于是试图尝试给sohu邮箱客服发了纸条,结果,TMD,很久也没回复。

原本想放弃了的。

但今天试图用使用gmail发送邮件,竟然也不行,于是考虑,应该还是foxmail自身的问题。

想起来收邮件时有问题可以对收件箱进行一致性检查或者进行压缩。

于是尝试,对foxmail的发件箱->右键->属性,选择“压缩”,然后再检查“一致性”,一般这样做就可以正常发邮件了,如果还不行的话,再重复一遍这个操作,然后选择“工具”选项卡,点击“开始修复”,应该可以解决问题。

这个办法,仅针对你的foxmail的发信SMTP确定设置正确的情况下,才有效的,假如你的smtp本身设置就有问题那打死也发不了的,呵呵。

最明显的表征就是,明明昨天还可以发邮件,然后今天多次尝试怎么都发不了,那么估计就是你的发件箱出了问题,用我上面的办法就可以解决^_^

PHP在Windows下的安装

很久没在IIS6配置PHP了。因为服务器重装系统,今天配置了PHP。

我不习惯将PHP文件copy到系统目录内(system32),会导致日后升级比较麻烦。

PHP在IIS6下安装很简单,主要是读取指定的php.ini文件路径的设置问题。

我是通过注册表的IniFilePath来定义的,可以将下面的代码另存一个.reg文件,然后导入到注册表内。记得将C:\\PHP5改为实际的PHP存放目录。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\php]
"IniFilePath"="C:\\php5"

另外,一定要将PHP存放路径加入到系统环境变量Path里面去。否则会导致无法加载dll扩展的情况发生。这一步我就给忘了,结果启动iis的时候总会弹出一个类似如下的警告:

弹出应用程序: Warning: PHP Startup: Unable to load dynamic library '*****\php_curl.dll' - 找不到指定的模块。

 

MySQL5.0升级到5.5

服务器又出故障了,这次比较彻底——系统文件丢失:(

不得已重做了系统。

趁着这个重做系统,决定将MySQL自5.0升级到5.5。 更多 »

写在2011年最后一天

时间是个很奇妙的东西。

再过3个半小时左右日历将翻入新的一年,传说中的世界末日那年(当然,俺不信^_^)——2012。

即将马上逝去的2011年,于我来说,有机遇也有挑战,有幸运也有遗憾。这就是生活,无论好与坏总不会一直下去的。

2011年上半年不是很好,下半年还不错。

2011年总算是不再如往年一般那么宅了,因为同学聚会再次去了趟北京,因为项目的原因在上海度过了将近2个月时间,另外也去了杭州绕着西湖走了一整天。

10月份还去了美丽的辽宁本溪去看很久未见的一个老朋友。11月份因为项目的原因去了深圳,也顺便第一次去了香港,在香港顺便也见了一个很久未见面的老朋友。

这个时候回想这一年,感觉有些东西记得非常清晰,有些已经慢慢的模糊。

有些事情会给自己很大的经验和教训,有些人会让你永远都记住……

无论如何,2011年算是一个新的起点,2012年应该要跨步向前啦!

其实人们更喜欢踏实的人——转自《我的助理辞职了》

转载网络的文章,出处真的是找不到了,偶然收藏的,突然又想起来,觉得发博客上也不错。这篇文字其实是写给刚刚步入职场的毕业生的,但我觉得对于管理运营也有独到的考虑。用人和被用,其实是一个双向的过程,共存并且共赢才能令双方都获益匪浅,不仅仅是物质上的,还有精神层面的。 更多 »

《勇士(Warrior)》

感觉又好久没有写长篇博客了,现在微博让人变得很懒散,最近好忙,忙得觉得时间过得很慢。

一如平时晚饭后的放松时间会找一些电影来看,今天找了部《勇士(Warrior)》,其实之前就看到这个片子了,看海报就知道是拳击或者搏击之类的,觉得没什么意思,无非是肌肉男之类的。今天实在找不到爱看的了,就勉强看了这个片子。

看过之后真的觉得后悔,应该更早一点来看看,这是一部讲述兄弟之间的格斗(注意这个格斗可不是我们平时看到的什么拳击搏斗之类的,这个比那些猛多了,几乎感觉没什么规则可言)。

一般讲述肌肉搏斗之类的片子剧情简单暴力加美女等等。这个片子却是个另类,表面是格斗但深层却是每个人的责任。也许每个人看过的感受都不一样,但我感觉这个片子绝对不是如剧情一般那么简单的,几个高潮部分会让你忍不住热泪盈眶。 更多 »

请不要随便使用wordpress后台的“自动升级”功能

刚刚手欠,看到有一款插件提示升级,随手就点了“自动升级”,结果悲剧了,由于是远程连接国外站点,因此导致页面长期无法响应而出错,博客访问也是提示“正在执行例行维护,请一分钟后回来。”

TNND,几分钟了还是如此,没办法,只能手动弄了。先是去数据库找对应有没有什么开关之类的,找了一会儿发现没有类似描述这个功能的,然后到博客目录文件发现根目录多出了一个“.maintenance”文件,删除之,问题解决。

唉,景德镇局域网内的童鞋们,最好别轻易的尝试wordpress后台内所有涉及“自动升级”或“更新”的,景德镇局域网连接互联网真的会让你奔溃滴~~

PS:刚刚手动下载了那个插件。容量215K,来自:downloads.wordpress.org,下载耗时:2分钟50秒,汗~~

 

PHP发送header头404信息

其实很简单,直接上代码再解释。 更多 »

PHP的json数据编译和解译,字符编码无关。

这里只就PHP5.2.0+以上版本而言,因为JSON扩展是自PHP5.2.0才开始引入的。早期版本没有默认引入。

json现在应用比较广泛,主要是由于ajax技术的原因。json可以很方便的传输具有属性的数据格式,方便前端进行解析处理,更好的将数据流量传输降低并且也能使前后端尽可能的分离。

貌似自06年开始我在做的项目如果客户不强烈要求的情况下,我都会使用UTF-8进行编码开发,UTF-8开发会有很多好处,比如前、后端数据传输很方便无须额外的编码开销,另外储存的字符也比较直观,虽然有数据容量的浪费,但在目前储存如白菜价的环境下,容量问题应该不大。

在使用UTF-8编码的时候,json_encode/json_decode可以很方便的处理(虽然编译后的数据中的中文看起来很怪异,但因为也不需要直接使用数据所以也无所谓),因为PHP自带的json扩展库只支持UTF-8编码。

但有的时候客户强烈选择使用GBK/GB2312进行编码的情况下,自带的json就应付不了了。所有涉及到中文的经过编译后会变成null。 更多 »

买块板开始锻炼~

SNC01027

长久不锻炼加之实在太宅了,肚子越来越大,最主要是体力也越来越不行了,去年去健身房效果不错,不过天天往那跑也真的很懒,咬咬牙决定在家自己锻炼,今天买了个仰卧板,把楼上阁楼空房间利用上了,当健身房,哈哈。

更多 »

一夜暴富之前的漫漫长路(转)

来自外刊IT评论(http://www.aqee.net/the-long-grind-before-you-become-an-overnight-success/)的一篇译文,原文说是自http://viniciusvacanti.com/2011/09/12/the-long-grind-before-you-become-an-overnight-success/翻译而来的。

先看看转来的译文再来评论:

更多 »

Deepseath Modified from Green Hope Theme · Proudly powered by WordPress · 津ICP备09005418号