美文网首页
php 基础知识点(1)

php 基础知识点(1)

作者: 青青玉立 | 来源:发表于2018-03-28 18:40 被阅读0次

1. setcookie("a","value");print $_COOKIE['a']; 语句输出的结果是什么

        Notice: Undefined index: a in

2. 字符串”\r”,”\n”,”\t”,”\x20”分别代表什么

“\r”代表的含义是:

在Linux、unix 中表示返回到当行的最开始位置,

在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果

“\n”代表的含义是:

在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果

在Linux、unix 中只表示换行,但不会回到下一行的开始位置。

“\t”所代表的含义是:

键盘上的“TAB”键,跳格(移至下一列)

“\x20”所代表的含义是:是32在ASCII表中16进制的表示

3. 以下语句输出的结果是什么

$a = 3;

echo "$a",'$a',"\\\$a","${a}","$a"."$a","$a"+"$a";

得到的结果是: 3$a\$a3336

注意:(用花括号界定变量名,适用于PHP所有版本)

$a = 'flower';

echo "She received some $as"; // 无效 $as变量

echo "She received some ${a}s"; // 有效

echo "She received some {$a}s"; // 有效;推荐的使用方法

4 php中将当前页面重定向到另一个页面怎么写?

header();

5 什么是魔术引号(magic_quotes_gpc)?

魔术引号(Magic Quotes)是一个自动将进入 PHP 脚本的数据进行转义的过程。提示:最好在编码时不要转义而在运行时根据需要而转义

类似addslashes() 对输入的字符创中的字符进行转义处理

6 在类的方法中,如何调用其父类的同名方法?

    parent::方法名

7 php中如何取得get,post参数,和上传的文件

$_GET,$_POST,$_FILES

8 如何取得客户端的ip(要求取得一个int)

    ip2long($_SERVER['REMOTE_ADDR']);

    *:$_SERVER['REMOTE_ADDR'] 获取字符串ip

      ip2long 将 IPV4 的字符串互联网协议转换成长整型数字

9 include和require的区别

require:出现错误后直接终止退出,程序不再执行

include:包含一个不存在的文件,会提示警告程序会继续执行

10 extends的作用是什么

类的继承

11 @test()和&test()的区别

@test()的作用是屏蔽test()方法中警告的作用

&test()引用test()方法

12 array+array与array_merge()的区别

二者之间的区别是:

1 键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)

2 键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,

但array_merge()此时会覆盖掉前面相同键名的值

13 请列举最少3个php对象的魔术方法和说明它们的用途

构造方法: __construct()

析构方法__destruct()

__get() 控制私有的受保护的未定义的成员属性的访问

__set() 对私有的受保护的未定义的成员属性进行赋值控制

__isset() 对私有的受保护的未定义成员属性进行isset和empty的判断控制

14 什么是fpm?

FastCGI Process Manager:FastCGI进程管理器

15 描述一下php开发中常见的几种攻击以及解决方案

SQL注入:

解决这个问题的办法是,将 PHP 的内置 mysql_real_escape_string() 函数用作任何用户输入的包装器。这个函数对字符串中的字符进行转义,使字符串不可能传递撇号等特殊字符并让 MySQL 根据特殊字符进行操作。

跨站点脚本攻击(XSS):

strip_tags() 函数,这个函数可以清除任何包围在 HTML 标记中的内容

或者使用htmlspecialchars() 函数、htmlentities()函数输出HTML实体

echo intval(0.58*100) 输出的结果是57,试分析这是为什么?

原因就是浮点数精度的问题。

简单的十进制分数如同 0.1 或 0.7 不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999…。这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3333333…。所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数

写出mysql中,插入数据,读出数据,更新数据的语句

INSERT INTO 表名 VALUES (””,””);

SELECT * FROM 表名;。

UPDATE 表名 SET 字段名1=’a’,字段名2=’b’ WHERE 字段名3=’c’;

写入数据时,聚簇索引所在的列的内容是随机的,会引起什么性能问题?

聚簇索引情况下,写入数据时,插入速度严重依赖插入顺序,按照主键的顺序插入是加载数据到InnoDB表中速度最快的方式。但如果不是按照主键顺序加载数据,那么在加载完成后最好使用OPTIMIZE TABLE命令重新组织一下表。

基于聚簇索引的表在插入新行,或者主键被更新导致需要移动行的时候,可能面临“页分裂”的问题。当行的主键值要求必须将这一行插入到某个已满的页中时,存储引擎会将该页分裂成两个页面来容纳该行,这就是一次分裂操作。页分裂会导致表占用更多的磁盘空间。

聚簇索引可能导致全表扫描变慢,尤其是行比较稀疏,或者由于页分裂导致数据存储不连续的时候

如何查看当前linux服务器的磁盘io状态?

iostat -x -k

top //cpu项

vmstat

如何查看linux服务器的cpu负载

top(top程序提供了一个动态的、实时的、直观的运行中的系统。它能显示系统的主要信息,并且把由内核管理的任务列表显示出来。top命令监控CPU利用率,进程状态和内存利用率。顶部区域包含了整个系统状态的信息,从左到右,从上到下,依次是:当前时间,正常运行时间,负载均衡,进程总数和概况,CPU状态,内存占用情况,swap占用情况。)

如何查看一个进程当前打开的文件?

查看所有进程的文件打开数

lsof |wc -l

查看某个进程打开的文件数

lsof -p pid |wc -l

什么是管道命令?

这个管道命令“|”仅能处理经由前面一个命令传来的正确信息,也就是standard output的信息,对于stdandard error并没有直接处理能力。在每个管道后面接的第一个数据必定是“命令”,而且这个命令必须要能够接受standard input的数据才行,这样的命令才可以是“管道命令”,例如Less、more、head、tail等都是可以接收standard input的管道命令

safe_mode 为了解决共享服务器安全问题而设置,PHP5.3将不再有安全模式

调用gc_enable() 和 gc_disable()函数来打开和关闭垃圾回收机制

error_reporting — 设置应该报告何种 PHP 错误

variables_order 设置描述PHP解析变量顺序  默认设定为EGPCS(Environment,GET,POST,Cookie,Server)

serialize 序列化 反序列化

 所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示。unserialize()函数能够重新把字符串变回php原来的值。 序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字

 类名可以是任何非 PHP 保留字的合法标签。一个合法类名以字母或下划线开头,后面跟着若干字母,数字或下划线

表达式 1 == [['1']] 的结果是 false

header 参数解释

 If-Modified-Since  作用: 把浏览器端缓存页面的最后修改时间发送到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行对比。如果时间一致,那么返回304,客户端就直接使用本地缓存文件。如果时间不一致,就会返回200和新的文件内容。客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示在浏览器中

If-None-Match 作用: If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。 当用户再次请求该资源时,将在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),将返回一个304状态告诉客户端使用本地缓存文件。否则将返回200状态和新的资源和Etag.  使用这样的机制将提高网站的性能

Accept  作用: 浏览器端可以接受的媒体类型

 Connection: keep-alive  当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

  例如:  Connection: close  代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接

GBK编码下一个字符占2个字节,一个utf8数字占1个字节 一个utf8英文字母占1个字节

 pack函数创建的二进制文件

相关文章

  • php基础知识入门

    PHP基础知识点整理 • 缩写:Personal Home Page ==>>PHP:HypeText Pre...

  • php 基础知识点(1)

    1. setcookie("a","value");print $_COOKIE['a']; 语句输出的结果是什...

  • PHP基本语法

    本文是复习所写,并不会涵盖一些基础知识点 PHP标记 由于PHP与HTML可以混编,所以需要明确标识出PHP代码块...

  • PHP笔记

    PHP笔记 ##php****基础语法****1.****变量...

  • PHP 中的 cURL 爬虫实战基础

    最近准备入手 PHP 爬虫,发现 PHP 的 cURL 这一知识点不可越过。本文探讨基础实战,需要提前了解命令行的...

  • 从0到1学习网络安全 【目录】

    简介 1.什么是网络安全2.学习网络安全应该具备哪些专业 PHP 基础篇 1.【PHP基础-简介】2.【PHP基础...

  • 01 基础

    基础知识点:7天学习php 1.' '不可解析变量," "可以解析变量; 2.整型、浮点型、布尔型、字符串; 3....

  • 01_PHP 基础知识

    1. PHP 基础知识 1. PHP 基础知识[#1-php-%E5%9F%BA%E7%A1%80%E7%9F%A...

  • PHP基础1

    PHP变量 变量声明 以美元符$开头,然后是变量名,变量名是由字母、数字、下划线组成,变量名区分大小写 变量赋值 ...

  • PHP基础(1)

    PHP介绍 PHP是一种通用的开源脚本语言,主要应用于Web开发。PHP的优势主要体现在: 1.免费2.开放源代码...

网友评论

      本文标题:php 基础知识点(1)

      本文链接:https://www.haomeiwen.com/subject/lsuucftx.html