月份: 2011-05

linux/centos系统如何使用yum安装vi/vim?(转)

yum安装vim最简单的命令, yum -y install vim* 然后就可以使用vi命令了.

网上的文章: 要使用vim, 使用yum看了一下,发现有4个

vim-common.i386                          2:7.0.109-6.el5              base
vim-enhanced.i386                        2:7.0.109-6.el5               base
vim-minimal.i386                         2:7.0.109-6.el5               installed
vim-X11.i386                            2:7.0.109-6.el5               base

到底那个是呀 一看那个 vim-X11.i386 应该是图形界面的东西 就就两个了 每装了vim-common.i386这个,运行了一下,还是提示没有。

再装vim-enhanced.i386

yum install vim-enhanced.i386

再试一下,ok成功

PHP 多维数组排序 根据二维数组中某个项排序(转)

比如有个多为数组:

$arr = array(
‘d’ => array(‘id’ => 5, ‘name’ => 1, ‘age’ => 7),
‘b’ => array(‘id’ => 2,’name’ => 3,’age’ => 4),
‘a’ => array(‘id’ => 8,’name’ => 10,’age’ => 5),
‘c’ => array(‘id’ => 1,’name’ => 2,’age’ => 2)
);

需要对二维数组中的 age 项排序。

需要用到PHP的内置函数 array_multisort(),可以看手册。

自定义函数:

function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){
if(is_array($multi_array)){
foreach ($multi_array as $row_array){
if(is_array($row_array)){
$key_array[] = $row_array[$sort_key];
}else{
return false;
}
}
}else{
return false;
}
array_multisort($key_array,$sort,$multi_array);
return $multi_array;
}

//处理

echo “<pre/>”;
print_r(multi_array_sort($arr,’age’));exit;

//输出

Array
(
[c] => Array
(
[id] => 1
[name] => 2
[age] => 2
)

[b] => Array
(
[id] => 2
[name] => 3
[age] => 4
)

[a] => Array
(
[id] => 8
[name] => 10
[age] => 5
)

[d] => Array
(
[id] => 5
[name] => 1
[age] => 7
)

)
written by 大宇

Deprecated: Function ereg_replace() is deprecated

Deprecated: Function ereg_replace() is deprecated

在php5.3.0后的版本,取消了对ereg函数的支持,惹得若干程序需要改动,譬如我安装的zen-card1.3.8,颇不方便。
错误:Deprecated: Function ereg() is deprecated in ……

解决方法一:退回去用php5.2。(众人皆赞道:果是好法子!)

解决方法二:继续用php5.3,但是修改devel/devel.modul的460行:if ($errno & (E_ALL ^ E_NOTICE)) {改为if ($errno & (E_ALL & ~E_NOTICE & ~E_DEPRECATED)) {把丫deprecated错误给忽略掉。(众人皆又赞道:果……果……果是好法子!)

解决方法三:动程序鸟,把ereg换成preg_match,ereg_replace也需得换成preg_replace。只得注意的是ereg(“^[0-9]”)    需修改成   preg_match(“/^[0-9]/”) 无敌//必须加,哈哈。(众人皆俯首赞道:王道也!)

hp中preg_replace和ereg_replace函数用法区别:
1) preg_replace:
语法:
mixed preg_replace (mixed pattern, mixed replacement, mixed subject [, intlimit])
在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit个匹配,如果省略 limit 或者其值为-1,则所有的匹配项都会被替换。
replacement 可以包含 \n 形式或(自PHP 4.0.4起)$n 形式的逆向引用,首选使用后者。每个此种引用将被替换为与第 n 个被捕获的括号内的子模式所匹配的文本。n 可以从0 到99,其中 \0 或 $0 指的是被整个模式所匹配的文本。对左圆括号从左到右计数(从1 开始)以取得子模式的数目。
对替换模式在一个逆向引用后面紧接着一个数字时(即:紧接在一个匹配的模式后面的数字),不能使用熟悉的 \1 符号来表示逆向引用。举例说 \11,将会使 preg_replace() 搞不清楚是想要一个 \1 的逆向引用后面跟着一个数字 1 还是一个 \11 的逆向引用。本例中的解决方法是使用 \${1}1。这会形成一个隔离的 $1 逆向引用,而使另一个 1 只是单纯的文字。
此函数主要是用来进行正则匹配的mixedpattern必须是行为””这样的形式
2) ereg_replace
语法:
string ereg_replace (string pattern, string replacement, string string)
本函数在 string 中扫描与 pattern 匹配的部分,并将其替换为 replacement。
返回替换后的字符串。(如果没有可供替换的匹配项则会返回原字符串。)
如果 pattern 包含有括号内的子串,则 replacement 可以包含形如 \digit 的子串,这些子串将被替换为数字表示的的第几个括号内的子串;\0 则包含了字符串的整个内容。最多可以用九个子串。括号可以嵌套,此情形下以左圆括号来计算顺序。
如果未在 string 中找到匹配项,则 string 将原样返回。
此函数主要是用来进行字符匹配的,不能带有“//”

例子:
<?php
//ereg_replace的例子.
$num = ‘4’;
$string = “This string has four words.”;
$string = ereg_replace(‘four’,$num, $string);
echo $string;
//preg_replace的例子.
$num = ‘4’;
$string = “This string has four words.”;
$string = preg_replace(‘/four/’,$num, $string);
echo $string;
?>
输出的结果是一致的。
<?php
//ereg_replace的例子.
$string = “This is a test”;
echo ereg_replace (” is”, ” was”, $string);
echo ereg_replace (“( )is”, “\1was”, $string);
echo ereg_replace (“(( )is)”, “\2was”, $string);
//preg_replace的例子.
$string = “This is a test”;
echo preg_replace (“/ is/”, ” was”, $string);
echo preg_replace (“/( )is/”, “\1was”, $string);
echo preg_replace (“/(( )is)/”, “\2was”, $string);
?>
输出结果一致。
<?php
$date=’08/27/2009′;
echo preg_replace(“/(\d+)\/(\d+)\/(\d+)/”,”\2/\1/\3″,$date);echo'<br>’;
print ereg_replace(“([0-9]+)/([0-9]+)/([0-9]+)”,”\2/\1/\3″,$date);
?>
输出结果一致。
下面单独说一下preg_replace这个函数:
preg_replace() 的每个参数(除了 limit)都可以是一个数组。如果 pattern 和 replacement 都是数组,将以其键名在数组中出现的顺序来进行处理。这不一定和索引的数字顺序相同。如果使用索引来标识哪个 pattern 将被哪个 replacement 来替换,应该在调用 preg_replace() 之前用 ksort() 对数组进行排序。
<?php
$string = “The quick brown foxjumped over the lazy dog.”;
$patterns[0] = “/quick/”;
$patterns[1] = “/brown/”;
$patterns[2] = “/fox/”;
$replacements[2] = “bear”;
$replacements[1] = “black”;
$replacements[0] = “slow”;
print preg_replace($patterns, $replacements, $string);
ksort($patterns);
ksort($replacements);
print preg_replace($patterns, $replacements, $string);
?>

php 时间运算及数据库中取出日期使用注意(转)

php 里经常要对时间进行处理,网上关于时间函数运算的教程很多,本文略微整理一下:

echo date(‘Y-m-d’,strtotime(‘+1 d’,strtotime(‘2009-07-08′)));//日期天数相加函数

echo date(“Y-m-d”,’1246982400’);
echo ‘<br>’;
echo date(“Y-m-d”,’1279123200′);
die();

$d   =   “2009-07-08 10:19:00”;
echo   date(“Y-m-d”,strtotime(“$d   +1   day”));   //日期天数相加函数

function dateToTime($d)//把日期转换成时间堆截
{
$year=((int)substr(“$d”,0,4));//取得年份

$month=((int)substr(“$d”,5,2));//取得月份

$day=((int)substr(“$d”,8,2));//取得几号

return mktime(0,0,0,$month,$day,$year);
}

/*

strtotime

这个函数非常重要,从数据库进取出的日期,一般为字符串,必需经过此函数处理后,才能使用 date 这类函数对时间进行格式化。

下面函数计算两日期之着

*/

$Date_1=”2009-07-08″;

echo $Date_1+1;

$Date_2=”2009-06-08″;
$Date_List_a1=explode(“-“,$Date_1);

$Date_List_a2=explode(“-“,$Date_2);

$d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);

$d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);

$Days=round(($d1-$d2)/3600/24);

echo  “两日期之前相差有$Days 天”;

MySQL中常用日期时间函数

下面的查询选择了所有记录,其date_col的值是在最后30天以内:

mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) – TO_DAYS(date_col)<= 30;

DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
mysql> select DAYOFWEEK(‘1998-02-03’);
-> 3

WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY(‘1997-10-04 22:23:00’);
-> 5
mysql> select WEEKDAY(‘1997-11-05’);
-> 2

DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
mysql> select DAYOFMONTH(‘1998-02-03’);
-> 3

DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
mysql> select DAYOFYEAR(‘1998-02-03’);
-> 34

MONTH(date)
返回date的月份,范围1到12。
mysql> select MONTH(‘1998-02-03’);
-> 2

DAYNAME(date)
返回date的星期名字。
mysql> select DAYNAME(“1998-02-05”);
-> ‘Thursday’

MONTHNAME(date)
返回date的月份名字。
mysql> select MONTHNAME(“1998-02-05”);
-> ‘February’

QUARTER(date)
返回date一年中的季度,范围1到4。
mysql> select QUARTER(’98-04-01′);
-> 2

WEEK(date)
WEEK(date,first)
对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始。

mysql> select WEEK(‘1998-02-20’);
-> 7
mysql> select WEEK(‘1998-02-20’,0);
-> 7
mysql> select WEEK(‘1998-02-20′,1);
-> 8

YEAR(date)
返回date的年份,范围在1000到9999。
mysql> select YEAR(’98-02-03′);
-> 1998

HOUR(time)
返回time的小时,范围是0到23。
mysql> select HOUR(’10:05:03′);
-> 10

MINUTE(time)
返回time的分钟,范围是0到59。
mysql> select MINUTE(’98-02-03 10:05:03′);
-> 5

SECOND(time)
回来time的秒数,范围是0到59。
mysql> select SECOND(’10:05:03’);
-> 3

PERIOD_ADD(P,N)
增加N个月到阶段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数P不是日期值。
mysql> select PERIOD_ADD(9801,2);
-> 199803

PERIOD_DIFF(P1,P2)
返回在时期P1和P2之间月数,P1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期值。
mysql> select PERIOD_DIFF(9802,199703);
-> 11

DATE_ADD(date,INTERVAL expr type)

DATE_SUB(date,INTERVAL expr type)

ADDDATE(date,INTERVAL expr type)

SUBDATE(date,INTERVAL expr type)
阅读详细 »

教大家不戴眼镜(转)

这个暑假两个月,我最大的收获就是视力从400降到了200。

我在无意间看了一个书,讲怎么治疗近视。刚开始看的时候,觉得不可思议,方法这么简单,那不是很多人都可以不戴眼镜了。我原本想这是骗人的,就没在意了。可是后来我还是做了思想斗争。两个月闲着也是闲着,不如试试,反正做了也不会有什么伤害,没有损失。

我后来在网上又找了一些资料,关于治疗近视的,发现原来很早就有人说过这些治疗方法,国外也有,可就是尝试的人太少了,以至于到现在有这么多人戴起了眼镜。

方法有很多,网上也有这些资料,大家可以自己查查,我就挑选了几个方法,尝试了两个月,视力有很大的好转。先说说我都是怎么做的吧。

1、站在某处,找一个比较远的树和一棵近一点的树,然后观察近处的树一会儿,再观察远处的树一会儿。这个方法有调节眼睛肌肉,放松的作用。观察的时候要尽量多看树的细节。

2、手掌搓热,捂在眼睛上,反复做,这样也是放松眼睛,而且很舒服,这个动作随时随地都可以做。

3、日光浴,天气晴朗时,闭着眼睛,对着太阳,让光线透过眼睑,刺激眼细胞。我们近视的人都对光线很敏感,一遇到强光就会眯眼睛或者斜眼。这样做是可以提高我们眼睛对光线的接受能力。

4、晚上,天上有星星的时候,就数星星,用眼睛去找星星,但不能老盯着一颗星星,这样眼睛会产生疲劳。

5、坐着或者站着,眼睛先平视前方,然后眼睛做上下左右运动,让眼珠尽力朝着每个方向拉伸,每个方向停留几秒就可以。我们近视后会发现眼睛都变形了,这个方法可以把我们的眼睛在调节回正常的形状,也有助于恢复眼睛的聚焦能力。

6、多眨眼睛,眨眼睛可以缓解眼睛疲劳,这个是随时都要做的。

我就是结合这几个方法,每天有空就做。因为我比较闲,所以每天都花蛮多时间做,也许是因为这样我的视力才会有这么快的进步。大家如果没有太多时间,也要每天抽点时间来做,估计时间会长点,但肯定也会有所改变的。

要摘掉眼镜,那么大家就要尽量不戴眼镜。可能大部分人和我一样一直有个错误的认识,就是不戴眼镜近视就会加深。事实上这是错误的,不戴眼镜我们的视力才有可能恢复,所以在不妨碍正常的工作学习时,我们能不戴就不戴。刚开始我不戴眼镜非常的不适应,眼前一片模糊,什么都看不清,想拿个东西都要把头伸进去,虽然样子看起来傻了点,但是时间长了,我就慢慢适应这个模糊的世界。不过随着眼睛的恢复,我的世界越来越清晰。我已经有一个多月没戴眼镜了,不管是在家,还是到外面,玩电脑,看电视,我都没有戴。看不清没关系,只要越来越清楚就可以了。对了,在不戴眼镜看东西的时候,我们会有个习惯,那就是为了看清楚东西,眯眼睛或者瞪眼睛。大家注意了千万不能这么做,一旦发现自己眼睛眯起来了,就马上停止。这个时候看不清怎么办,那就多眨眼睛。

要让我们的视力恢复,以上的方法是必要的,还有很重要的是,一定要放轻松。一个是身体、眼睛的轻松,还有一个是心理的轻松。我们要相信眼睛会变好的,不能急。

每个人的情况不一样,所以恢复的时间也不同,有的几个月,有的要一年以上,没有关系,关键是坚持,动作虽简单,但一定要每天都做。

我每天一有空就做,而且这些方法是相互结合,练习时间也不定。方法还有很多,大家可以上网查查书和资料,自己体验,希望大家能够都摘掉眼镜,大家一起努力吧。

如果你练习后有效,请告诉你身边的朋友,让他们也尽早的摘掉眼镜。

PS:这篇文章是转载的,但是它说了我想说的话,呵呵。我曾经假性近视,不过现在视力5.1,觉得还是蛮幸运的啊,从386的时代就开始看显示屏了。恩,推荐大家尽量不要带眼镜,能不带就不带,慢慢会好点的。再不行了好像到了30岁左右可以做一个手术的,曾经一个老师做过,效果还不错。

一个很真实的故事

1,不知不觉我的爱妻小梓离开我已经快5年了,这5年来我的父母,岳父岳母其实都曾劝过我,说我还年轻,不如将她忘记,给女儿沫沫找个善良的妈妈。

但是我知道,这辈子我不可能再爱上别的女人了。

每年的3月28日是妻子小梓的忌日,也是女儿沫沫的生日,刚才沫沫睡觉前我问她,明   天想要什么礼物,

沫沫说,想去看看妈妈。

沫沫睡下之后,我哭得像条狗一样,5年来,从来没有像刚才这么哭过。

2,突然想起我和她的往事,又想找个地方说说,于是新注册了一个ID,想着把以前的事情都翻出来说说。

这5年来在我最软弱的时候我要感谢很多人,谢谢我的妈妈,谢谢这几年帮我把沫沫教的那么懂事,

谢谢我的爸爸,谢谢这几年来对我无声的鼓励,

谢谢我的岳父岳母,我这女婿实在是太过没用了。

3,我不是个好丈夫,我甚至没给过小梓一个像样的婚礼,

我也不是个好儿子,那段时间我做了很多伤害父母的事,

我也不是个好女婿,没能守护好岳父岳母的宝贝女儿。

我更不是个好爸爸,因为我甚至想过小梓的死全是女儿沫沫的错。

4,今天想起了太多东西,从小梓出现在我生活中的那天起,再到我们的女儿沫沫出生,从前觉得“回忆像电影一般一幕幕出现在脑海”这样的句子很傻,但是今天的确是如此。

5年来,我没有一天是不在思念小梓的,即使是在上班的时候,站在讲台上面对教室里面40多个学生的时候,突然会想起小梓来,这时候,备课的内容也会忘得一干二净,常常沉默许久,或者转过身去开始写板书来掩盖我因为难过而变形的脸。

从小梓离开我和沫沫那天起,我毫无缘由的相信了有天堂的存在,只是为了给自己一个寄托,相信妻子一直在天上看着我们,为沫沫的成长和懂事而高兴。

5,我的妻子小梓是难产再加上失血过多去世的,本来难产在现在这样的医疗技术下不算大问题,但是小梓身体一向不好,坚持要生下沫沫也是她的决定。结果换来的却是这样让我痛苦一辈子的结局。沫沫生日那天恰恰是小梓的忌日,所以我从来没真正开心的给沫沫过过一次生日,我感觉我作为一个父亲太失职了。 阅读详细 »

某委员发言

某委员发言:“上海是全世界的上海,上海的房价应该和国际接轨。我觉得80后男孩子如果买不起房子,80后女孩子可以嫁给40岁的男人。 80后的男人如果有条件了,到40岁再娶20岁的女孩子也是不错的选择。”
【2楼】回复: 我终于到40岁了,找到一个年轻貌美的20岁女友 去她家见家长。开门的是当年读大学时相处了几年的初恋女友 新女友喊了一声:妈~
【3楼】补充:她妈看到我,惊得倒吸一口冷气。没等我反应过来,然后把女儿拉进房间里,对女儿说“你不能和他在一起,他是你亲生父亲啊!”
【4楼】继续补充: 女儿:我已经有了他的骨肉……
【5楼】 这时女孩的60多岁的父亲走出来看见了女孩的男友,小声的对他说:“你怎么来了,给你妈和你的生活费不是每月都按时打去的吗?
【6楼】这时”叮咚”,女孩男友的妈来见亲家,见到女孩的父亲:”怎么是你…”
【7楼】女孩男友的父亲停完车也上楼了,一见女孩的父亲马上泪流满面:”你不就是我失散多年的弟弟吗?”
【8楼】女孩母亲见到男友母亲:”妈!”
【9楼】女孩母亲见到男友他爸,叫了一声“爹!”,立刻晕厥过去
请问——
1、你能理解到几楼?
2、男友他妈的妈见到女友他妈的爸叫什么?
反正很多人疯了

PS:终于又看见这个段子了,赶紧记录下来,哈哈…我还是理解了的,大家呢?