二十一·写出数据类型(int char varchar datetime text)的意思,varchar 和char的区别?
int数字类型,char固定长度字符串,varchar实际(可变)长度字符串,datetime日期时间类型,text文本类型
char长度是固定的,不管你存储的数据是多少他都会都固定的长度。而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置,
由于某种原因char 固定长度,所以在处理速度上要比varchar快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例
二十二·MyISAM和InnoDB的基本区别?
innoDB支持事务机制、存储过程、行级锁定,MyISAM不支持,
MyISAM在增删改查中速度快于InnoDB,作为使用MySQL的用户角度出发,Innodb和MyISAM都是比较喜欢的,如果数据库平台要达到需求:99.9%的稳定性,方便的扩展性和高可用性来说的话,MyISAM绝对是首选,
InnoDB不支持FULLTEXT类型的索引,
InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可
二十三·客户端禁用了cookie,怎么实现session技术共享多个页面?
方法一.通过session获取session_id进行传值:
a.php页面(设置session) session_start(); header("Content-type:text/html;charset=utf-8"); $user = $_SESSION['name'] = 'zhangsan'; echo $sid = session_id(); $sname = session_name(); echo ""; print_r($user); echo ""; echo "cookie"; b.php页面(接收session) if(isset($_GET['PHPSESSID'])){ session_id($_GET['PHPSESSID']); } session_start(); echo session_id(); echo ""; print_r($_SESSION); echo "";
方法二.或者php.ini 配置选项,里面有一个session.use_trans_sid=0设置为1
(在herf action header会自动添加SID,但是js跳转不会自动增加); 重启apache可以生效
二十四·isset()和empty()的区别,对不同数据的判断结果?
isset()是判断变量是否存在,是否定义
empty()是判断变量的值是否为空
二十五·如何在页面之间传递变量?
get,post,ajax,curl,cookie,session
二十六·写出匹配url的正则表达式?
$url = "https://www.baidu.com/index.php?id=1&name=user1"; $reg = "/(http|ftp|https):[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]* /"; echo preg_match($reg,$url);
二十七·请写出常见的排序算法,并用php实现冒泡排序,将数组$a=array()按照从小到大的方式进行排序?
function mysort($arr){ for($i=0;$i<count($arr)-1;$i++){ for($j=0;$j
评论