php 基础面试题

2021/8/6 22:06:14

本文主要是介绍php 基础面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  1. PHP中写出显示客户端的IP和服务端的IP的方法 
     客户端的IP
     echo $_SERVER[‘REMOTE_ADDR’];  
     打印服务器IP:echo gethostbyname(“www.baidu.com”)
  2. SESSION 与 COOKIE的区别是什么?
    session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放
     cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。
      两者都可通过时间来设置时间长短
  3. PHP中如何优化多个if...esleif语句的情况?

首先尽可能将表达式可能性越大的越往前面放,其次如果我们判断的内容比较复杂且 判断的值只是字符串,整型,浮点 那么就可以用switch...case来代替。

    4. PHP中如何防止SQL注入?

使用预处理语句和参数化查询。预处理语句和参数分别发送到数据库服务器进行解析,参数将会被当作普通字符处理。

PDD:解决这个问题,你应该禁止PDO模拟预处理语句。一个正确使用PDO创建数据库连接的

     5.用PHP方式对目录进行遍历

用php实现的遍历目录,只遍历第一层,如果制作在线文件管理器的话很管用,不同目录只加一个超链接就行了,然后给方法传递参数就行了,遍历目录的类

    6.用PHP实现冒泡排序,将数组$a = array()按照从小到大的方式进行排序

$arr=array(1,7,5,3,6,8);
$count=count($arr);
for ($i=0;$i<$count;$i++){
    for ($k=0;$k<$count-1-$i;$k++){
        $a=$arr[$k];
        if($arr[$k]>$arr[$k+1]){
            $arr[$k]=$arr[$k+1];
            $arr[$k+1]=$a;
        }
    }

}
print_r($arr);

7.请写出常用的mysql数据类型,简述varchar 和 char有什么区别

在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定的长度,而varchar属于可变长的字符类型。

char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。所以实际应用中用户可以根据自己的数据类型来做。

 8.  varchar(10)和int(10)代表什么含义?

varchar(10)中的10代表字符串最长宽度为10,存进库里的字符串长度超过10将报错无法进行存储int(10)。。存储为int类型,占4个字节,非负存值为0到2的32次方,并不会因为10的限制存储范围为0到2的10次方

表示的是存储数字宽度,如果宽度不够10就会按照0进行填充。

9.

  1. 简述mysql中MyISAM和 InnoDB 的基本区别?

InnoDB存储引擎: 主要面向OLTP(Online Transaction Processing,在线事务处理)方面的应用,是第一个完整支持ACID事务的存储引擎(BDB第一个支持事务的存储引擎,已经停止开发)。

   特点: 支持行锁

 支持外键

支持自动增加列AUTO_INCREMENT属性

支持事务

支持MVCC模式的读写

读的效率低于MYISAM

写的效率高优于MYISAM

适合频繁修改以及设计到安全性较高的应用

清空整个表的时候,Innodb是一行一行的删除,

MyISAM存储引擎: 是MySQL官方提供的存储引擎,主要面向OLAP(Online Analytical Processing,在线分析处理)方面的应用。

   特点:

1 独立于操作系统,当建立一个MyISAM存储引擎的表时,就会在本地磁盘建立三个文件,例如我建立tb_demo表,那么会生成以下三个文件tb_demo.frm,tb_demo.MYD,tb_demo.MYI

2 不支持事务,

3 支持表锁和全文索引

4 MyISAM存储引擎表由MYD和MYI组成,MYD用来存放数据文件,MYI用来存放索引文件。MySQL数据库只缓存其索引文件,数据文件的缓存交给操作系统本身来完成;

5 MySQL5.0版本开始,MyISAM默认支持256T的单表数据;

6.选择密集型的表:MYISAM存储引擎在筛选大量数据时非常迅速,这是他最突出的优点

7.读的效率优于InnoDB

8.写的效率低于InnoDB5

9.适合查询以及插入为主的应用

10.清空整个表的时候,MYISAM则会新建表

10、什么是事务?及其特性?

事务:是一系列的数据库操作,是数据库应用的基本逻辑单位。

特性:

(1)原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。

(2)一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态

(3)隔离性。在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务

(4) 持久性。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。

简单理解:在事务里的操作,要么全部成功,要么全部失败。

11、索引的作用?和它的优点缺点分别是什么?

a. 索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。

b. 它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。

c. 索引可以是唯一的,创建索引允许指定单个列或者是多个列。

d. 缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小

12、慎用union关键字

此关键字主要功能是把各个查询语句的结果集合并到一个结果集中返回给你。



这篇关于php 基础面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程