php_1

1. 把日期字符串07/26/2016转换成2016/07/26格式
<?php
$date = '07/26/2016';
echo preg_replace('/(\d+)\/(\d+)\/(\d+)/', '$3/$1/$2', $date);//输出2016/07/26
# 注释:3个()所匹配的内容分别是$1,$2,$3.替换成$3/$1/$2的格式。
2. 从表 login 中选出 name 字段包含 admin 的前 10 条结果所有信息的 sql 语句
select * from login where name like "%admin%" limit 10 order by id;
# 注释: 此题考点在like. 记得要order by 排序
3. inner join的用法:

假设有1张user表记录用户(有id和username2个字段),1张post表记录发帖信息(有id,info,user_id 3个字段)。现在查询发过帖子的用户(username)和帖子信息(info)。以下2条sql语句是等效的。

$sql1='select user.username,post.info from user,post where user.id=post.user_id';//普通多表查询。
$sql2='select user.username,post.info from user inner join post on user.id=post.user_id';//内联接
# 注释:这2条sql语句都是只查询发过帖子的用户和帖子信息,没有发过帖子的用户和信息不显示。
4. left join的用法:

同上面的例子,如果sql语句为:$sql3='select user.username,post.info from user left join post on user.id=post.user_id';//左联接
则表示查询所有用户的发帖信息。左联接偏向左边表,即会把左边表的选中字段的所有值查询出来,$sql3的查询结果是输出所有username,对应的info字段的值,如果对应的用户发帖了则显示帖子的内容,如果没有发帖,则显示为null

5.mysql表优化

添加索引
当没有索引的时候:

mysql>  explain select *from tag where tname='php'\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: tag
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 5
        Extra: Using where
1 row in set (0.00 sec)
# rows:5 说明mysql查询了5行才查询到 tname='php',type:ALL说明是全表遍历,如果表中有1亿条数据,tname没有索引,这样查询会遍历全表查询到要找的值。效率极低。

tname字段添加一个普通索引:然后再查询:
特别说明:explain与desc效果一样
比如:下面的分析语句也可以写作:desc select * from tag where tname='php'\G

删除索引的语句是alter table tag drop index tn;//只删除索引名即可,不要跟(字段名)

mysql> alter table tag add index tn(tname);
Query OK, 5 rows affected (0.15 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> explain select * from tag where tname='php'\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: tag
         type: ref
possible_keys: tn
          key: tn
      key_len: 75
          ref: const
         rows: 1
        Extra: Using where
1 row in set (0.00 sec)
type:ref说明是被驱动表索引,rows:1,说明只查询了1条数据就找到tname='php',给tname字段添加的索引是tn,即key:tn。
6.优化数据库最直接最有效的方法就是给数据库加索引,给经常查询的字段即where后面的字段加索引。

索引分3种:
1. unique唯一索引:不允许出现相同的值,可以有null值。
2. index普通索引:允许有相同值。
3. primary key主键索引:不允许有相同的值,不能有null值,一张表只能有一个primary key.

7.写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名

//例如: http://www.test.com.cn/abc/de/index.php?id=10 需要取出 php 或.php
$url = 'http://www.test.com.cn/abc/de/index.php?id=10';
$arr = parse_url($url);

>> 得到的数组是这样的

Array
(
[scheme] => http
[host] => www.test.com.cn
[path] => /abc/de/index.php
[query] => id=10
)

>

$arr2 = pathinfo($arr['path']);

>> 得到的数组是这样的

Array
(
[dirname] => /abc/de
[basename] => index.php
[extension] => php
[filename] => index
)

>

echo $arr2['extension'];//输出最终结果


###### 8.MVC是什么?
一般在php框架开发中会用到mvc结构。它是一只开发模型,它最大的优点是实现视图层View和逻辑层Controller的分离。M是model是数据模型,V是View是视图,是模板层,C是Controller是控制器是php逻辑层。
###### 9.描述一下大流量高并发量网站的解决方案
>1. 设置dns负载均衡进行分流
2. lvs(Linux Virtual Server)即**Linux虚拟服务器**,是一个虚拟的服务器集群系统。即负载均衡器
3. 集群服务器
4. web服务器采用nginx,能够支持高达 50,000 个并发连接数的响应apache为2000-4000.
5. 静态缓存,即把php页面转换为html。可以用(tp等框架,Smarty模板引擎等)
6. 文件数据缓存(tp)
7. 内存数据缓存( memcache,redis)
8. 给数据库加索引
9. 数据库分库分表或者分区
10. 磁盘阵列技术
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容