- 用PHP获取上周的周一和周日的日期,输出日期格式为Y-m-d;
$w = date('N');
$lastWeekSunday = date('Y-m-d', strtotime("-$w days"));
$lastWeekMondy = date('Y-m-d', strtotime("$lastWeekSunday-6 days"));
echo $lastWeekSunday . "\n" . $lastWeekMondy;
- 使用PHP数组函数对一维数组$array进行如下处理
- 去除所有键值为空的元素
- 排重
- 按照元素值从大到小排序
- 重新建立数组索引
$array = ['a' => 7, 'b' => 8, 'd' => 6, 9, 3, 'c' => 2, 2, 7, 3, 0, null, 'e' => array(), ''];
// 去除空值
$farray = array_filter($array);
// 排重
$uarray = array_unique($farray);
// 按照元素值从大到小排序
arsort($uarray);
// 重新建立数组索引
$sarray = array_values($uarray);
print_r($sarray);
- 存在二维数组$array,每组元素中包含如下key:url、title、pubsource、pubtime,请实现title+pubsource对该数据进行排重
$a = [
[
'url' => 'a',
'title' => 'a',
'pubsource' => 'a',
'pubtime' => 'a',
],
[
'url' => 'b',
'title' => 'b',
'pubsource' => 'b',
'pubtime' => 'b',
],
[
'url' => 'a',
'title' => 'a',
'pubsource' => 'a',
'pubtime' => 'a',
],
[
'url' => 'b',
'title' => 'b',
'pubsource' => 'b',
'pubtime' => 'b',
],
];
function multiunique($a, $c = [])
{
$b = [];
$num = count($c);
foreach ($a as $value) {
$k = '';
for ($i = 0; $i < $num; $i++) {
$k .= $value[$c[$i]];
}
if (!array_key_exists($k, $b)) {
$b[$k] = $value;
}
}
return array_values($b);
}
$e = multiunique($a, ['title']);
print_r($e);
- 假设规定新闻的标题不能为存数字,不能为存字母,不能包含彩票/广告/启示字眼,请写出一条判断标题是否合规的正则。
$str = 'asdbcs11a';
$a = preg_match('/^(?![0-9]+$)(?![a-zA-Z]+$)((?!ab|cd|ef).)*$/', $str);
print_r($a);
linux下压缩包,解压缩的命令
tar命令
-z 是否同时具有gz属性
-j 是否同时具有bz2属性
-J 是否同时具有xz属性
-x 解压缩、提取打包的内容
-t 查看压缩包内容
-c 建立一个压缩,打包文档
-C 切换到指定目录,表示指定解压缩包的内容和打包的内容存放的目录
-v 显示压缩或者打包的内容
-f 使用文件名,在f后面要接压缩后的文件的名字,只要用到tar命令,-f选项是必须要用的,-f参数在使用的时候一定排在其他参数的后面,在最右边
-p 保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P 保留绝对路径
-r 向压缩包中追加文件
tar -zcvf 包名.tar.gz 文件名/文件夹名
tar -xvf 包名.tar.gz -C 解压文件的存放目录
如果压缩时,被压缩的文件路径为绝对路径时需要加-P,解压时也是如此
tar -zcvPf 包名.tar.gz 绝对路径
tar -xvPf 包名.tar.gz -C 解压后文件的存放路径
--exclude 用来排除不需要打包的文件或者不需要解压的文件
tar -cvf a.tar --exclude=a.txt shell
tar -xvf a.tar --exclude=c.txt -C test
-r 向压缩包中追加文件
tar -rf a.tar shell/a.txt
zip、unzip压缩
zip
-m 将文件压缩后,删除原文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩的时间
-q 安静模式,在压缩的时候不显示指令执行的过程
-r 递归压缩,将自定目录下的所有子文件以及文件一起处理
-x ”文件列表“,压缩时排除文件列表中的文件
zip -r a.zip shell -x shell/a.txt
upzip
-c 将解压缩的结果显示到屏幕上(显示每一个目录下的每一个文件的内容),同时对字符做适当的转换,但是并没有解压压缩包
-l 显示压缩文件内所包含的文件
-t 检查压缩文件是否正确
-v 执行时显示压缩文件的详细信息
-q 安静模式,执行时不显示任何信息
-d 指定文件解压后存储的目录
-x 指定不要处理压缩文件中的那些文件
upzip -q a.zip -d test/ -x shell/b.txt
- linux下写出后台执行test.php并将输出结果输出到test.log文件中的指令
nohup php test.php > test.log &
写一条shell脚本,该脚本将实现找出当前服务器中所有包含spread的进程,杀死这些进程并记录日志,日志内容包含进程名称、进程ID和杀死进程的时间
!#bin/bash
ps -ef|grep php|grep -v grep|awk -F ' ' '{print $2,$8}' > a.log
awk -F ' ' '{print $1}' | xarge kill -s 9