加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

php 容易被面试官提到的知识点(面试题详细介绍)

发布时间:2020-12-31 15:29:21 所属栏目:运营 来源:网络整理
导读:echo 和 print 区别: echo - 可以输出一个或多个字符串 print - 只应承输出一个字符串,返回值总为 1 提醒: echo 输出的速率比 print 快, echo 没有返回值,print有返回值1。 变量名必需以字母可能下划线字符开始 变量名只能包括字母数字字符以及下划线(A
副问题[/!--empirenews.page--]

echo 和 print 区别:

echo - 可以输出一个或多个字符串

print - 只应承输出一个字符串,返回值总为 1

提醒:echo 输出的速率比 print 快, echo 没有返回值,print有返回值1。

变量名必需以字母可能下划线字符开始

变量名只能包括字母数字字符以及下划线(A-z、0-9 和 _ )

变量名是区分巨细写的($y 和 $Y 是两个差异的变量)

PHP 是一门弱范例说话

PHP 会按照变量的值,自动把变量转换为正确的数据范例。

在强范例的编程说话中,我们必需在行使变量前先声明(界说)变量的范例和名称。

在全部函数外部界说的变量,拥有全局浸染域。除了函数外,全局变量可以被剧本中的任何部门会见,要在一个函数中会见一个全局变量,必要行使 global 要害字。

当一个函数完成时,它的全部变量凡是城市被删除。然而,偶然辰您但愿某个局部变量不要被删除。

要做到这一点,请在您第一次声明变量时行使static要害字:

PHP EOF(heredoc) 行使声名

1. 必需后接分号,不然编译通不外。

2.EOF可以用恣意其余字符取代,只需担保竣事标识与开始标识同等。

3. 竣事标识必需顶格独自占一行(即必需从行首开始,前后不能跟尾任何空缺和字符)。

4. 开始标识可以不带引号或带单双引号,不带引号与带双引号结果同等,表明内嵌的变量和转义标记,带单引号则不表明内嵌的变量和转义标记。

5. 当内容必要内嵌引号(单引号或双引号)时,不必要加转义符,自己对单双引号转义,此处相等与q和qq的用法。

1.以<<

2.开始标志和竣事标志沟通,好比常用大写的EOT、EOD、EOF来暗示,可是不但限于那几个(也可以用:JSON、HTML等),只要担保开始标志和竣事标志不在正文中呈现即可。

3.位于开始标志和竣事标志之间的变量可以被正常理会,可是函数则不行以。在 heredoc 中,变量不必要用毗连符.或,来拼接

整型可以用三种名目来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

可以通过配置变量值为 NULL 来清空变量数据:

一个常量由英笔墨母、下划线、和数字构成,但数字不能作为首字母呈现。 (常量名不必要加 $ 修饰符)。

留意:常量在整个剧本中都可以行使。

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

假如在字符串中找到匹配,该函数会返回第一个匹配的字符位置。假如未找到匹配,则返回 FALSE。

自 PHP 5.3 起,可以省略三元运算符中间那部门。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,不然返回 expr3。

留意:PHP_EOL 是一个换行符,兼容更大平台。

运算符的品级

必必要留意的是elseif与else if只有在行使花括号的环境下才以为是完全沟通。假如用冒号来界说if/elseif前提,那就不能用两个单词的else if,不然 PHP 会发心理会错误。 详见 http://php.net/manual/zh/control-structures.elseif.php

数值数组- 带稀有字 ID 键的数组

关联数组- 带有指定的键的数组,每个键关联一个值

多维数组- 包括一个或多个数组的数组

sort() - 对数组举办升序分列

rsort() - 对数组举办降序分列

asort() - 按照关联数组的值,对数组举办升序分列

ksort() - 按照关联数组的键,对数组举办升序分列

arsort() - 按照关联数组的值,对数组举办降序分列

krsort() - 按照关联数组的键,对数组举办降序分列

PHP 超等全局变量列表:

$GLOBALS

$_SERVER

$_REQUEST

$_POST

$_GET

$_FILES

$_ENV

$_COOKIE

$_SESSION

do...while 语句

函数名称以字母或下划线开头(不能以数字开头)

PHP把戏常量

PHP 向它运行的任何剧本提供了大量的预界说常量。

不外许多常量都是由差异的扩展库界说的,只有在加载了这些扩展库时才会呈现,可能动态加载后,可能在编译时已经包罗进去了。

有八个把戏常量它们的值跟着它们在代码中的位置改变而改变。

譬喻 __LINE__ 的值就依靠于它在剧本中所处的行来抉择。这些非凡的常量不区分巨细写

__LINE__

__FILE__

__DIR__

__FUNCTION__

__CLASS__

__TRAIT__

__METHOD__

__NAMESPACE__

自 PHP 5.4.0 起,PHP 实现了代码复用的一个要领,称为 traits

优先次序是当前类中的要了解包围 trait 要领,而 trait 要领又包围了基类中的要领

PHP 定名空间(namespace)是在PHP 5.3中插手的

PHP 定名空间可以办理以下两类题目:

用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字斗嘴。

为很长的标识符名称(凡是是为了缓解第一类题目而界说的)建设一个体名(或简短)的名称,进步源代码的可读性。

假如一个文件中包括定名空间,它必需在其余全部代码之前声明定名空间

在声明定名空间之前独一正当的代码是用于界说源文件编码方法的 declare 语句

declare(encoding='UTF-8'); //界说多个定名空间和不包括在定名空间中的代码

namespace MyProject {

const CONNECT_OK = 1;

class Connection { /* ... */ }

function connect() { /* ... */ }

}

namespace MyProject; // 定名空间前呈现了“” 会致命错误 -定名空间必需是措施剧本的第一条语句

?>

工具的3大特征:封装、担任,多态

public(公有):公有的类成员可以在任那里所被会见。

protected(受掩护):受掩护的类成员则可以被其自身以及其子类和父类会见。

private(私有):私有的类成员则只能被其界说地址的类会见。

PHP 不会在子类的结构要领中自动的挪用父类的结构要领。要执行父类的结构要领,必要在子类的结构要领中挪用parent::__construct(),可是假如子类没有结构要领的话会自动担任父类的结构要领

PHP 5 新增了一个 final 要害字。假如父类中的要领被声明为 final,则子类无法包围该要领。假如一个类被声明为 final,则不能被担任

声明类属性或要领为 static(静态),就可以不实例化类而直接会见。

静态属性不能通过一个类已实例化的工具来会见(但静态要领可以)。

因为静态要领不必要通过工具即可挪用,以是伪变量 $this 在静态要领中不行用。

静态属性不行以由工具通过 -> 操纵符来会见。

自 PHP 5.3.0 起,可以用一个变量来动态挪用类。但该变量的值不能为要害字 self,parent 或 static。


class Foo {


public static $my_static = 'foo';


public function staticValue() {


return self::$my_static;


}


public static function getValue() {


return self::$my_static;


}


}

print Foo::$my_static . PHP_EOL;

$foo = new Foo();

print $foo->staticValue() . PHP_EOL;


print $foo::staticValue() . PHP_EOL;


print $foo->getValue() . PHP_EOL;


print $foo::getValue() . PHP_EOL;


?>

可以把在类中始终保持稳固的值界说为常量。在界说和行使常量的时辰不必要行使 $ 标记

接口

行使接口(interface),可以指定某个类必需实现哪些要领,但不必要界嗣魅这些要领的详细内容。

接口是通过interface要害字来界说的,就像界说一个尺度的类一样,但个中界说全部的要领都是空的。

接口中界说的全部要领都必需是公有,这是接口的特征。

要实现一个接口,行使implements操纵符。类中必需实现接口中界说的全部要领,不然会报一个致命错误。类可以实现多个接口,用逗号来脱离多个接口的名称。

抽象类

任何一个类,假如它内里至少有一个要领是被声明为抽象的,那么这个类就必需被声明为抽象的。

界说为抽象的类不能被实例化。

被界说为抽象的要领只是声明白其挪用方法(参数),不能界说其详细的成果实现。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读