//1、检测一个字符串中所有字母是否全部包含在另一字符串中,$a = "ABCDSASSJHK"; $b = "JDDSANH"; a中是否包含b的全部字母
//全包含返回true,否则false。
function hah($a,$b)
{
$i = 0;
while (isset($b[$i]) && $b[$i] != '') {
if (strpos($a, $b[$i]) === false) {
return false;
}
$i++;
}
return true;
}
$a = "ABCDSASSJHK";
$b = "JDDSANH";
var_dump(hah($a,$b));
//2、如何终止正在执行的高耗时SQL?
(2)查看最近所有sql进程 :
show full processlist;
(2)kill 会话号:
kill 1373457;
3、char、varchar、text的区别?
①CHAR是一种固定长度的类型,适合用在身份证号码、手机号码等定。,VARCHAR则是一种可变长度的类型。适合用在长度可变的属性。 text不设置长度, 当不知道属性的最大长度时,适合用text。
②按照查询速度: char最快, varchar次之,text最慢。
也就是说,定义一个char[10]和varchar[10],如果存进去的是‘csdn’,那么char所占的长度依然为10,除了字符‘csdn’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的。尽管如此,char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率
③在新版本的mysql中char(n)和varchar(n)中的n表示的都是字符数
其中char中的n最大长度是255个字符,如果是utf8编码方式, 那么char类型占255 * 3个字节。(utf8下一个字符占用1至3个字节)
varchar最大空间是65535个字节, 存放字符数量跟字符集有关系;varchar实际范围是65532或65533, 因为内容头部会占用1或2个字节保存该字符串的长度;如果字段default null(即默认值为空),整条记录还需要1个字节保存默认值null。如果是utf8编码, 那么varchar最多存65532/3 = 21844个字符。
4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)
5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节
4、switch 里的坑:
坑一:
$a = "c"; switch($a){ case "b": echo "1"; break; case 0: echo "2"; case "c": echo "3"; break; dafault: echo "4"; } //23
PHP作为动态脚本语言:
动态语言的变量类型是随存储的变量而变化的,即变量类型是根据具体环境而进行变化的。
case 0:,PHP脚本将常量0翻译为确切的整数,与字符串比较大小时,需要将字符串转换为整数。PHP脚本会将字符串abc,从十进制(默认)转换为数字,但是abc很明显不能代表十进制数,即转换失败,则PHP将结果置为0,如果将字符串表示为"0xabc",那么PHP脚本能够发现0x标识,将abc作为十六进制转换,所以能够得到abc标识的十六进制整数。
坑二:
$a = 0; switch($a){ case $a>=0: echo 0; break; case $a>=10: echo 1; break; dafault: echo 2; break; } //1
第一行case ($a >= 0) , 条件表达式的值为 true , switch($key) 中传过来的是 0 , 0和true 不匹配。
第二行 0>=10为false, case条件false 与switch中$a为0 相等(switch非严格匹配,自动转换类型) false==0
case条件的值与switch中值作比较,若相等就进入。
所以最后的结果应该是: 1
5、linux下比较两文件的差异 :diff
参考:https://blog.youkuaiyun.com/hailangnet/article/details/79333110
6、日志访问ip,top10:命令参考:https://blog.youkuaiyun.com/tojohnonly/article/details/82772323
7、面向对象,类?
class father{
public function aa(){
return __CLASS__;
}
public function ye(){
return new self;
}
public function to(){
return new static;
}
}
class ch extends father{
}
$o=new ch();
var_dump($o->aa()); //father
var_dump($o->ye()); //father
var_dump($o->to()); //ch
self 表示的是代码所在类
static 表示的是外部调用的类
__CLASS__获取当前的类名
8、并发抓取网站内容: curl多进程实现;