PHP Interview Questions函数详解

首页 / PHP入门教程 / PHP Interview Questions函数详解

亲爱的读者,这些 PHP编程语言面试问题是专门设计的,目的是让您熟悉在采访中可能会遇到的关于 PHP编程语言主题的问题的性质。根据我的经验,优秀的面试官几乎不会计划在面试过程中提出任何特定的问题,通常,问题是从该主题的一些基本概念开始的,然后根据进一步的讨论和您的回答继续进行讨论-

PHP是" PHP:超文本预处理器"的递归首字母缩写。 PHP是嵌入在HTML中的服务器端脚本语言。它用于管理动态内容,数据库,会话跟踪,甚至构建整个电子商务站点。

PHP的常见用法-

  • PHP执行系统功能,即从系统上的文件中创建,打开,读取,写入和关闭它们。

  • PHP可以处理表单,即从文件收集数据,将数据保存到文件,通过电子邮件发送数据,将数据返回给用户。

  • 您可以通过PHP在数据库中添加,删除,修改元素。

  • 访问cookie变量并设置cookie。

  • 使用PHP,您可以限制用户访问您网站的某些页面。

  • 它可以加密数据。

所有PHP代码必须包含在PHP解析器可识别的三个特殊标记标签之一内。

<?php PHP code goes here ?>
<?    PHP code goes here ?>
<script language="php"> PHP code goes here </script>
Most common tag is the <?php...?>

PHP配置文件php.ini是影响PHP功能的最终且最直接的方法。每次初始化PHP时都会读取php.ini文件。换句话说,每当模块版本的httpd重新启动或CGI版本的脚本执行都重新启动时,都会读取php.ini文件。如果未显示您的更改,请记住停止并重新启动httpd。如果仍然没有显示,请使用phpinfo()检查php.ini的路径。

PHP解析引擎需要一种将PHP代码与页面中其他元素区分开的方法。这样做的机制称为"转义到PHP"。

空格是您键入的内容,通常在屏幕上不可见,包括空格,制表符和回车符(行尾字符)。 PHP空白不敏感意味着您几乎不必担心一行中有多少个空白字符。一个空白字符与许多此类字符相同。

不,PHP部分区分大小写。

以下是有关PHP中变量的最重要的知识。

  • PHP中的所有变量均以前导美元符号($)表示。

  • 变量的值是其最近赋值的值。

  • 使用=运算符分配变量,变量在左侧,表达式在右侧。

  • 可以(但不需要)在分配之前声明变量。

  • PHP中的变量没有固有类型-变量事先不知道它是否将用于存储数字或字符串。

  • 在分配变量之前使用的变量具有默认值。

  • PHP可以很好地在必要时自动将类型从一种转换为另一种。

  • PHP变量类似于Perl。

PHP共有八种数据类型,可用于构造变量-

  • 整数-是整数,不带小数点,例如4195。

  • 双精度数-是浮点数,例如3.14159或49.1。

  • 布尔值​​>-只有两个可能的值,即true或false。

  • NULL -是一种只有一个值的特殊类型:NULL。

  • 字符串-是字符序列,例如" PHP支持字符串操作"。

  • 数组-被命名为其他值的索引集合。

  • 对象-是程序员定义的类的实例,可以打包该类专用的其他类型的值和函数。

  • 资源-是特殊变量,用于保存对PHP外部资源(例如数据库连接)的引用。

命名变量的规则如下-

  • 变量名称必须以字母或下划线字符开头。

  • A variable name can consist of numbers, letters, underscores but you cannot use characters like + , - , % , ( , ) . & , etc

以下是确定尚未为布尔类型的任何值的"真相"的规则-

  • 如果该值为数字,则完全等于零则为false,否则为true。

  • 如果该值为字符串,则该字符串为空(具有零个字符)或字符串" 0"为false,否则为true。

  • NULL类型的值始终为false。

  • 如果值是一个数组,则不包含其他值则为false,否则为true。对于一个对象,包含一个值意味着具有一个已被分配一个值的成员变量。

  • 有效资源为真(尽管某些在成功时返回资源的函数将在失败时返回FALSE)。

  • 请勿将double用作布尔值。

NULL是一种只有一个值的特殊类型:NULL。要为变量提供NULL值,只需像这样分配它-

$my_var=NULL;

特殊常量NULL由约定大写,但实际上不区分大小写;您也可以输入-

$my_var=null;

分配了NULL的变量具有以下属性:

在布尔context中判断为FALSE。

使用IsSet()函数进行测试时,它将返回FALSE。

要定义一个常数,您必须使用define()函数并检索一个常数的值,您只需简单地指定其名称。与变量不同,您不需要具有$的常量。

如名称所示,此函数将返回常量的值。当您要检索常量的值但不知道其名称时,这很有用,即它存储在变量中或由函数返回。

<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); //same thing as the previous line
?>

常量中只能包含标量数据(布尔,整数,浮点数和字符串)。

  • 不需要在常量之前写美元符号($),就像在变量1中那样必须写美元符号。

  • 不能通过简单赋值来定义常量,只能使用define()函数来定义常量。

  • 常量可以在任何地方定义和访问,而无需考虑可变范围规则。

  • 设置完常量后,可能无法重新定义或取消定义。

PHP为运行的任何脚本提供了大量预定义的常量,称为魔术常量。

_LINE_-文件的当前行号。

无涯教程网

_FILE_-文件的完整路径和文件名。如果在include中使用,则返回包含文件的名称。从PHP 4.0.2开始,_FILE_始终包含绝对路径,而在旧版本中,在某些情况下,它包含相对路径。

_FUNCTION_-函数名称。 (在PHP 4.3.0中添加)从PHP 5开始,此常量返回声明的函数名称(区分大小写)。在PHP 4中,其值始终为小写。

_CLASS_-类名称。 (在PHP 4.3.0中添加)从PHP 5开始,此常量返回声明的类名(区分大小写)。在PHP 4中,其值始终为小写。

_METHOD_-类方法名称。 (在PHP 5.0.0中添加)方法名称被声明时返回(区分大小写)。

break终止for循环或switch语句,并在for循环或switch之后立即将执行转移到该语句。

继续会使循环跳过其主体的其余部分,并在重新进行迭代之前立即重新测试其状况。

foreach语句用于遍历数组。对于每遍,当前数组元素的值将分配给$value,并且数组指针将移动一个,并且在下一遍中将处理下一个元素。

foreach (array as value)
{
    code to be executed;
}

数字数组-具有数字索引的数组。值以线性方式存储和访问。

关联数组-以字符串为索引的数组。这将元素值与键值相关联地存储,而不是按照严格的线性索引顺序存储。

多维数组-使用多个索引访问包含一个或多个数组和值的数组。

要将两个字符串变量连接在一起,请使用点(。)运算符-

<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>

这将产生以下输出-

Hello World 1234

strlen()函数用于查找字符串的长度。让我们找到字符串" Hello world!"的长度。 -

<?php
echo strlen("Hello world!");
?>

这将产生以下输出-

12

strpos()函数用于搜索字符串或字符串中的字符。如果在字符串中找到匹配项,则此函数将返回第一个匹配项的位置。如果找不到匹配项,它将返回FALSE。 让我们看看是否可以在字符串中找到字符串" world"-

<?php
echo strpos("Hello world!","world");
?>

这将产生以下输出-

6

PHP提供了一个函数getenv()来访问所有环境变量的值。

PHP设置的环境变量之一是HTTP_USER_AGENT,它标识用户的浏览器和操作系统。

PHP rand()函数用于生成随机数。此函数可以生成给定范围内的数字。应该为随机数生成器植入种子,以防止生成规则的数字模式。这可以通过使用srand()函数来指定种子编号作为其参数来实现。

PHP默认变量$_PHP_SELF用于PHP脚本名称,当您单击"提交"按钮时,将调用相同的PHP脚本。

PHP header()函数将原始HTTP标头提供给浏览器,并可用于将其重定向到另一个位置。重定向脚本应位于页面的顶部,以防止加载页面的任何其他部分。目标由Location:标头指定为header()函数的参数。调用此函数后,可以使用exit()函数停止其余代码的解析。

HTTP标头与我们将Content-Type发送为text/html\n\n的实际标头不同。在这种情况下,内容类型将是application/octet-stream,并且实际文件名将与它并置。例如,如果要使FileName文件可从给定链接下载,则其语法如下。

#!/usr/bin/perl
# HTTP Header
print "Content-Type:application/octet-stream; name=\"FileName\"\r\n";
print "Content-Disposition: attachment; filename=\"FileName\"\r\n\n";
# Actual File Content
open( FILE, "<FileName" );
while(read(FILE, $buffer, 100) )
{
   print("$buffer");
}

PHP提供了$_GET关联数组,以使用GET方法访问所有已发送的信息。

PHP提供了$_POST关联数组,以使用POST方法访问所有已发送的信息。

PHP $_REQUEST变量包含$_GET,$_ POST和$_COOKIE的内容。当我们解释cookie时,我们将讨论$_COOKIE变量。 PHP $_REQUEST变量可用于从通过GET和POST方法发送的表单数据中获取输出。

array()-创建一个数组。

sort()-对数组进行排序。

单引号的字符串几乎按字面意义处理,而双引号的字符串则用变量的值替换变量,并专门解释某些字符序列。

<?php
$variable="name";
$literally='My $variable will not print!\\n';
print($literally);
print "<br />";
$literally="My $variable will print!\\n";
print($literally);
?>

这将产生以下输出-

My $variable will not print!\n
My name will print

要将两个字符串变量连接在一起,请使用点(。)运算符。

<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>

这将产生以下输出-

Hello World 1234

PHP $_REQUEST变量包含$_GET,$_ POST和$_COOKIE的内容。当我们解释cookie时,我们将讨论$_COOKIE变量。 PHP $_REQUEST变量可用于从通过GET和POST方法发送的表单数据中获取输出。

有两个PHP函数可用于将一个PHP文件包含到另一个PHP文件中。

  • include()函数

  • require()函数

如果在加载文件时遇到任何问题,那么require()函数将生成致命错误并暂停脚本的执行,而include()函数将生成警告,但脚本将继续执行。

PHP fopen()函数用于打开文件。它需要两个参数,首先说明文件名,然后说明操作方式。 " r"模式打开文件以供只读,并将文件指针放在文件的开头。

使用fopen()函数打开文件后,即可使用名为fread()的函数读取该文件。此函数需要两个参数。这些必须是文件指针,文件的长度以字节为单位。

可以使用filesize()函数找到文件的长度,该函数以文件名作为参数并返回文件大小(以字节为单位)。

可以使用file_exist()函数(以文件名作为参数)来确认文件的存在。

是!如果函数的调用者不传递参数,则可以将其设置为具有默认值。

PHP provided setcookie() function to set a cookie. This function requires upto six arguments and should be called before <html> tag. For each cookie this function has to be called separately.

setcookie(name, value, expire, path, domain, security);

PHP提供了许多访问cookie的方法。最简单的方法是使用$_COOKIE或$HTTP_COOKIE_VARS变量。

您可以使用isset()函数检查是否设置了cookie。

要删除cookie,您应该仅使用name参数调用setcookie()。

通过调用session_start()函数可以很容易地启动一个PHP会话。该函数首先检查一个会话是否已经启动,如果没有启动则启动一个会话。建议在页面的开头放置对session_start()的调用。

会话变量存储在名为$_SESSION []的关联数组中。在会话的生存期内可以访问这些变量。

利用isset()函数检查会话变量是否已设置。

这是取消设置单个变量的示例-

<?php
   unset($_SESSION['counter']);
?>

可以通过session_destroy()函数销毁PHP会话。

PHP利用mail()函数发送电子邮件。此功能需要三个必填参数,用于指定收件人的电子邮件地址,邮件主题和实际邮件,此外还有其他两个可选参数。

mail( to, subject, message, headers, parameters );

这是一个全局PHP变量。此变量是关联的二维数组,保留与上载文件有关的所有信息。

使用$_FILES ['file'] ['tmp_name']-它提供对Web服务器临时目录中上载文件的访问。

使用$_FILES ['file'] ['name']-提供上载文件的实际名称。

使用$_FILES ['file'] ['size']-提供上传文件的大小(以字节为单位)。

使用$_FILES ['file'] ['type']-提供上载文件的MIME类型。

使用$_FILES ['file'] ['error']-提供与此文件上传相关的错误代码。

$GLOBALS-包含对脚本全局范围内当前可用的每个变量的引用。该数组的键是全局变量的名称。

$_SERVER-这是一个包含标题,路径和脚本位置等信息的数组。该数组中的条目由Web服务器创建。不能保证每个Web服务器都会提供其中的任何一个。有关所有SERVER变量的完整列表,请参见下一部分。

$_COOKIE-通过HTTP cookie传递给当前脚本的变量的关联数组。

$_SESSION-包含当前脚本可用的会话变量的关联数组。

$_PHP_SELF-一个包含PHP脚本文件名的字符串。

链接:https://www.learnfk.comhttps://www.learnfk.com/php/php-interview-questions.html

来源:LearnFk无涯教程网

$php_errormsg-$php_errormsg是一个变量,包含PHP生成的最后一条错误消息的文本。

ereg()-ereg()函数在string指定的字符串中搜索pattern指定的字符串,如果找到pattern,则返回true,否则返回false。

eregi()-eregi()函数在pattern指定的整个字符串中搜索string指定的字符串。搜索不区分大小写。

split()函数会将字符串分成各种元素,每个元素的边界基于字符串中模式的出现。

preg_match()-preg_match()函数在字符串中搜索模式,如果模式存在,则返回true,否则返回false。

preg_split()函数的操作与split()完全相同,只不过正则表达式被接受为pattern的输入参数。

使用Exception类的getMessage()方法返回异常消息。

使用Exception类的getCode()方法返回异常代码。

使用Exception类的getFile()方法返回源文件名。

使用Exception类的getLine()方法返回源行。

使用Exception类的getTrace()方法返回返回跟踪的数组。

使用Exception类的getTraceAsString()方法返回格式化的trace字符串。

PHP time()函数为您提供了有关当前日期和时间的所有所需信息。它不需要参数,但返回整数。

函数getdate()可以选择接受时间戳,并返回一个包含有关日期信息的关联数组。如果省略时间戳,则它与time()返回的当前时间戳一起使用。

date()函数返回表示日期的格式化字符串。您可以使用必须传递给它的字符串参数对date()返回的格式进行大量控制。

PHP提供mysql_connect函数来打开数据库连接。

connection mysql_connect(server,user,passwd,new_link,client_flag);

PHP使用mysql_query函数创建一个MySQL数据库。此函数有两个参数,如果成功,则返回TRUE;如果失败,则返回FALSE。

bool mysql_query( sql, connection );

它最简单的功能mysql_close PHP提供了关闭数据库连接的功能。该函数获取mysql_connect函数返回的连接资源。成功返回TRUE,失败返回FALSE。

bool mysql_close ( resource $link_identifier );

如果未指定资源,则关闭最后打开的数据库。

PHP 5的新SimpleXML模块使解析XML文档变得非常简单。它将XML文档转换为提供对XML的结构化访问的对象。要从存储在字符串中的XML文档创建SimpleXML对象,请将字符串传递给simplexml_load_string()。它返回一个SimpleXML对象。

Yes!

PHP提供了一个称为__construct()的特殊函数来定义构造函数。您可以将任意数量的参数传递给构造函数。

像构造函数一样,您可以使用函数__destruct()来定义析构函数。您可以在析构函数中释放所有资源。

变量$this是一个特殊变量,它指向同一对象,即。本身。

一旦定义了类,就可以根据需要创建任意数量的对象。以下是如何使用new运算符创建对象的示例。

$physics=new Books;
$maths=new Books;
$chemistry=new Books;

创建对象后,您将能够调用与该对象相关的成员函数。一个成员函数将只能处理相关对象的成员变量。下面的示例演示如何通过调用成员函数来设置三本书的标题和价格。

$physics−>setTitle( "Physics for High School" );
$chemistry−>setTitle( "Advanced Chemistry" );
$maths−>setTitle( "Algebra" );
$physics−>setPrice( 10 );
$chemistry−>setPrice( 15 );
$maths−>setPrice( 7 );

子类中的函数定义会覆盖父类中具有相同名称的定义。在子类中,我们可以修改从父类继承的函数的定义。

定义接口以为实现者提供通用的函数名称。不同的实现者可以根据其要求实现这些接口。可以说,接口是由开发人员实现的概要。

PHP 5引入了final关键字,该关键字通过在定义的前面加上final来防止子类覆盖方法。如果类本身是最终定义的,则无法扩展。

下一步是什么?

此外,您可以浏览过去完成的与该主题相关的作业,并确保您能够自信地对它们发表讲话。如果您是新手,那么面试官不会期望您会回答非常复杂的问题,而是必须使您的基本概念非常扎实。

第二,如果您不能回答几个问题,那实际上并不重要,但是无论您回答了什么,您都必须自信地回答,这很重要。因此,在面试中要感到自信。我们在learnfk上祝您好运,有一位优秀的面试官,也祝您未来事业一切顺利。欢呼声:-)

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

SQL必知必会 -〔陈旸〕

性能测试实战30讲 -〔高楼〕

接口测试入门课 -〔陈磊〕

图解 Google V8 -〔李兵〕

Kafka核心源码解读 -〔胡夕〕

用户体验设计实战课 -〔相辉〕

攻克视频技术 -〔李江〕

超级访谈:对话毕玄 -〔毕玄〕

现代C++20实战高手课 -〔卢誉声〕

好记忆不如烂笔头。留下您的足迹吧 :)