1. 把日期字符串07/26/2016转换成2016/07/26格式

$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 里取出文件的扩展名

>> 得到的数组是这样的

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. 磁盘阵列技术

php更多式样,php_1相关推荐

  1. android 刷新某条数据_Android 支持刷新、加载更多、带反弹效果的RecyclerView

    点击上方"Android技术杂货铺",选择"标星" 干货文章,第一时间送达! 开篇 当前市面上很多支持刷新.加载更多RecyclerView开源库,为何我这里还 ...

  2. 使用Vant框架的组件van-pull-refresh搭配van-list和van-card完成上滑加载更多列表数据,下拉刷新当前列表数据(等同于翻页功能)

    <template><div class="sg-page-body"><div class="sg-list"><v ...

  3. 女神推荐, 卡片,广告图 ,点击查看更多

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. 正文: <view><view class='title'>女神推荐 </vie ...

  4. re:Invent大会第四天:为什么Lambda值得你更多关注?

    2018年11月29日的拉斯维加斯,AWS re:Invent大会进入第四天,上午照例由AWS CTO Werner Vogels带来主题演讲. 从主题演讲之前到主题演讲之后,改变最大的产品毫无疑问就 ...

  5. 使用jquery.more.js来实现点击底部更多后, 底部加载出新的数据

    <div class="bus-nav-bar ft12"><div class="navt bor-r-c pos-rel {if $int == 0 ...

  6. Linux命令行–更多bash shell命令(转)

    4.1.1 探查程序 ps 命令 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户进程的进程 显示的当前进程的项目 进程号 运行在哪个终端(tty) 进程占用的CPU时间 Linux系统支 ...

  7. Marathon 0.15: 更稳定 更多数据 更易用

    Marathon 是数据中心操作系统(DCOS)上的原生容器编排和应用管理平台,正式推出的0.15版增加了许多新功能,并进一步提升了性能.监控和用户界面等方面的表现. 数人云基于Mesos技术,使用M ...

  8. 程序员怎么赚更多的钱_自由职业技巧:如何感到更加自信和赚更多钱

    程序员怎么赚更多的钱 Over my 10 years as a freelance developer, many fellow freelancers have asked me for advi ...

  9. 小程序 reduce_使用reduce制作的10个更多实用程序功能

    小程序 reduce This time, with a test suite! 这次,带有测试套件! Previously I wrote about 10 utility functions im ...

最新文章

  1. python测试rabbitmq的消息收发
  2. 【计算理论】计算复杂性 ( 多项式等价 | P 类 | 丘奇-图灵论题延伸 )
  3. python可以提高程序执行速度N倍你知道吗?
  4. 18、Linux下编程风格
  5. zabbix监控windows下的mysql
  6. 中国人工智能学会通讯——电子商务中的个性化推荐技术剖析 1. 基于人生阶段建模的商品推荐...
  7. jquery--动态篇
  8. PHP连接MYSQL出现乱码的原因与解决方法
  9. I/O多路复用之select
  10. 听我讲完 redo log、binlog 原理,面试官老脸一红!
  11. Matplotlib_库的安装
  12. Java复制文件的4种方式
  13. 各家usbcan分析仪以及各家软件使用经验
  14. java随机数种子_使用种子的Java随机数
  15. 百度地图api中文乱码
  16. 亲测可用--word报错:子过程或函数未定义
  17. 商易通-预约挂号详情页面-预约确认(三十五)
  18. ElasticSearch 参数调优
  19. 优惠券系统:优惠券分发微服务功能编码实现
  20. 微信识别图片文字直接导出Word方法

热门文章

  1. 2020中国硬科技创新白皮书
  2. java 内部接口 内部类_Java的接口中中添加内部类,甚至实现外围接口的内部类,意义是什么?...
  3. python安装jupyterlab_超级详细 centos7 安装 jupyter lab
  4. 斐波那契回调线怎么画_Lionheart万汇:斐波那契回调线,实战使用方法和难点
  5. python 可视化_Python数据可视化
  6. 数博会重磅活动:第二届大数据科学与工程国际会议详细日程
  7. 【离散数学】含有两个量词的谓词逻辑公式
  8. 【软件架构】三层架构和MVC的比较
  9. 【数字逻辑设计】Logisim构建锁存器/触发器
  10. 【MySQL】命令行遇到 ‘> 而无法结束语句编辑的解决方案