php基础篇之一

1.PHP是什么

  官方文档:超文本预处理器

2.PHP能够做一些什么?

 PHP主要应用在一下领域:

(1)服务器端脚本,需要:PHP解析器,PHP服务器,PHP浏览器。

(2)命令行脚本,只需要PHP解析器,但是依赖于cron(Linux/Unix环境)和task scheduler(Windows环境)。

(3)编写桌面应用程序,依赖于PHP-GTK扩展。

3.FastCGI与CGI的区别?

      FastCGI与CGI都是“进程管理器”。

      CGI是之前使用到的处理动态请求的一种方法。当web服务器接收到动态请求的时候,web服务器就会fork一个新的进程,这个新的进程在处理完动态请求之后将数据交给用   户,此时新的进程就会退出。

      FastCGI是现在使用到的处理动态请求的一直能够方法,web服务器中内置php/per解析器,当web服务器启动时就会启动解析器。当文本服务器接收到动态请求之后,就会把请求提交给解析器,并且请求处理完毕之后,解析器也不会退出进程。

4.mysql中事物是什么?

事物指的是一组有序的数据库操作单元。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,只有所有操作全部成功,具有:原子性,一致性,隔离性,持久性。

原子性: 确保工作单元内的所有操作都成功完成,否则事务将被中止在故障点,和以前的操作将回滚到以前的状态。

一致性: 确保数据库正确地改变状态后,成功提交的事务。

隔离性: 使事务操作彼此独立的和透明的。

持久性: 确保提交的事务的结果或效果的系统出现故障的情况下仍然存在。

5.Cookie与Session的区别?

(1)cookie只保存在客户端的,而session是保存在服务器端的。

(2)相对于cookie而言,session更加安全。

(3)cookie保存的数据量有限,一般是4k。

(4)如果session保存的数据量过大,就会影响到服务器的性能,所以一般建议:登录等敏感信息保存在session,而cookie则保存一些其他信息。

6.strlen()与mb_strlen()的区别

  首先对于单字节编码的字符串而言,strlen()与mb_strlen()没有区别,都是计算字符串的长度;但是对于多字节编码的字符(如gbk和utf8),只有mb_strlen()计算的是字符串长度,而strlen()则计算的是字符串的总字节数。比如:

$str1 = "abc";

echo strlen($str1);  //输出:3

echo mb_strlen($str1); //输出:3

而对于:

$str2 = "张大亮PHP";

echo strlen($str2);  //输出:6x2 = 12;当前页面是utf是12;如果是gbk那么就是3x2 + 3x1 = 9;

echo mb_strlen($str2); //输出:6x2 = 12;如果没有指定字符街编码就是用内部单字节编码。

echo mb_strlen($str2, 'utf-8');//输出:6

原文地址:https://www.cnblogs.com/imysql/p/6295039.html