亲爱的读者,这些 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上祝您好运,有一位优秀的面试官,也祝您未来事业一切顺利。欢呼声:-)
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)