首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

100 个常见 PHP 面试题

PHP,我们可以使用运算符==来比较两个对象是否同一个类实例,并且拥有相同属性和属性值。 还可以是使用运算符===来比较两个对象是否引用了同一同一实例。...14) PHP和HTML是如何交互可以通过PHP脚本生成HTML,还可以信息HTML传递到PHP。 15) 通过表单URL传递值时需要哪种类型操作?...我们用 instanceof 能够验证 PHP 变量是否是某个类实例对象。 84) goto 语句有什么用? goto语句可以放置在PHP程序以启用跳转。...100) 是否可以PHP 使用 COM 组件? 是的, 可以在框架中提供 PHP 脚本中集成(分布式)组件对象模型组件((D)COM)。...因此,您可以同一主机上运行两个不同Memcache进程,但它们是完全独立。除非您已经对数据进行了分区,否则有必要知道哪个实例获取数据将数据放入哪个实例

20.9K50

PHP技能评测

、FALSE、array()、var $var; 以及没有任何属性对象,则返回 FALSE     版本:PHP 3, PHP 4, PHP 5     更多说明:     empty()返回值=!...(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。    ...在函数方法无需执行 global $variable; 就可以访问它们。    ...php变量存在一个叫"zval"变量容器,"zval"变量容器包括含变量类型和值,还包括额外两个字节信息,分别是“is_ref”表示变量是否属于引用,“refcount”指向这个zval变量容器变量个数...进行淘汰,在配置文件可以通过maxmemory-samples值来设置redis需要检查key个数,但是检查越多,耗费时间也就越久,但是结构越精确(也就是Redis内存淘汰对象未使用时间也就越久

98230
您找到你想要的搜索结果了吗?
是的
没有找到

【译】现代化PHP开发--PDO

它是在PHP 2.0.0引入,但是PHP 5.5.0开始就被弃用了,并且已经在PHP7.0.0被剔除了。考虑到在较新PHP 版本不支持此扩展,因此不建议使用此扩展。...但是,这里要注意一件更重要事情是,PHP会验证列表是否和数据库字段数据类型相匹配,列表这么多数据,这就很容易产生不匹配错误。...PHP_EOL; } PDOStatement::fetchColumn可以选择接受单个参数(列名)。该参数是指定从中检索数据0开始索引编号。当该参数被省略时,它默认为列编号0。...PDOStatement::fetchColumn在调用它时将指针向前移动一步,因此无法同一检索另一列。(显然,当我们使用不同列号调用指针时,它已经移动到下一行了)。...PHP类作为第一个参数传递,PHP实例化自定义PHP对象一个实例,并将其检索并返回: class MyClass { } $statement = $dbh->query('SELECT id, name

1.9K00

-公共函数和全局常量

返回: 缓存对象从缓存取回变量 返回类型: mixed $key (string) – 需从缓存检索参数名 (可选) 返回: 缓存对象从缓存取回变量 返回类型: mixed...$locale (string) – 使用不同地区,而不是默认地区设置。 检索一个基于某个别名字符串本地特定文件。     更多详细信息请见 Localization 页。...$response (ResponseInterface) – 当前响应对象实例。 检查页面当前是否通过HTTPS访问,如果不是,则用户通过HTTPS重定向回当前URI。...返回类型: bool 使用 app/Config/Logger.php 定义日志处理程序记录日志。...返回类型: mixed 提供简易访问任何在系统定义服务,详见the Services 。 这将总是返回类共享实例,因此不管在单个请求调用多少次,都只会创建一个类实例

3K20

【收藏分享】2022年PHP中高级面试题(三)

,修改 wait_timeout 就行,调 小点加速回收 使用连接池 2.502 504错误原因 502 是无效响应,(1)nginx 无法与 php-fpm 进行连接,检查 php-fpm 是否启动...注入对象构造函数不能有参数,否则会报错。 容器是个超级工厂模式,真正 IoC 容器会根据类依赖需求,自动在注册、绑定一 堆实例搜寻符合依赖需求,并自动注入到构造函数参数中去。...比如,一个光秃秃对象,我们可 以仅仅通过这个对象就能知道它所属类、拥有哪些方法。反射是指在PHP运行状态,扩展分析PHP程序,导出提出关于类、方法、属性、参 数等详细信息,包括注释。...这种动态获取信息以及动态调用对象方法功能称为反射 API。在平常开发,用到反射地方不多:一个是对对象进行调试,另一个是获取类信 息。...在MVC和插件开发,使用反射很常见,但是反射消耗也很大,在可以找到替代 方案情况下,就不要滥用。PHP有Token函数,可以通过这个机制实现一些反射功能。

2.3K20

设计模式 | 单例模式

这种模式确保同类只有一个实例存在,并提供应用程序任何其他部分对这个类进行单点访问。 如果觉得抽象的话,我可以举一个映射生活例子: 一所大学里,一般只有一个官方校领导团一名官方校长。...如上图左侧图示,创建一个单例数据库实例并重用,它每次访问数据库时都会使用同一实例,这样做我们不仅保证了更快地访问和检索实例了,而且还减少了这几个在创建实例时遇到错误异常可能性。...一阶优化 但是我们可以进行语句检查,在静态函数判断 instance 是否为 null,也就是确保 instance 是否创建过,且仅当 null 时候我们才去重新创建。...因此,在这个示例,我们 A 正在构造 instance 实例时,B 此时可能正在尝试检索它并且由于我们在外面新增了一个 if 判断,线程 B 并不会等待 A 实例完成初始化,这个时候线程 B 可能会引用内存部分构造对象...为了避免这么做,我们通常可以仅访问内存一次,就是在第一次内存检索实例时将实例存储在局部变量,然后 if 语句和 return 语句中使用相同局部变量。

5810

【精选】Mysql B-Tree和B+Tree结构?

0xff是字符串 字符串转int 第一个是0 可以转换成功 xff转换失败 2....设计模式分类,设计原则 创建型模式、结构型模式、行为模式 创建型模式,就是创建对象模式,抽象了实例过程。...:利用原型实例来“克隆”创建对象。...PHP静态变量有几种? 静态变量属于静态存储方式,其存储空间为内存静态数据区(在静态存储区内分配存储单元)。 静态变量可以在任何可以申请地方申请,一旦申请成功后,它将不再接受其他同样申请。...,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A; 用户未退出网站A之前,在同一浏览器,打开一个TAB页访问网站B; 网站B接收到用户请求后,返回一些攻击性代码

38810

jQuery 教程

:first-of-type选择同一元素名称兄弟第一个元素。 :last-child选择同父代最后一个子代元素。 :last-of-type选择同一元素名称兄弟最后一个元素。...() 匹配元素搜索给定元素 $.noConflict() 释放变量 $ jQuery 控制权 $.param() 创建数组对象序列化表示形式(可在生成 AJAX 请求时用于 URL 查询字符串...返回用户当前使用浏览器相关信息 $.contains() 判断另一个DOM元素是否是指定DOM元素后代 $.each() 遍历指定对象和数组 $.extend() 将一个多个对象内容合并到目标对象...() 锁定当前状态回调列表 callbacks.locked() 判断回调列表是否被锁定 callbacks.remove() 回调列表删除一个回调回调集合 jQuery 延迟对象 在jQuery...在创建一个 Deferred 对象之后,您可以使用以下任何方法,直接链接到通过调用一个多个方法创建保存对象

16.9K20

php基本语法复习

对象 对象是存储数据和有关如何处理数据信息数据类型 php必须明确地声明对象 首先必须声明对象类,使用class关键词,类是包含属性和方法结构 在对象定义数据类型,然后在该类实例中使用此数据类型...> strpos() 用于检索字符串内指定字符文本 如果找到匹配,则会返回首个匹配字符位置,如果未找到,则会返回false strpos(“原字符串”,“待检索字符串”); <?...GET可以看见注入点(发送信息变量名) POST 方法表单发送信息对其他人是不可见(所有名称/值会被嵌入 HTTP 请求主体)并且对所发送信息数量也无限制。...> fopen() 提供比readfile()更多选项 fopen第一个参数包含被打开文件名,第二个参数规定打开文件模式 <?...创建上传脚本 upload_file.php文件含有供文件上传代码 通过使用PHP全局数组$_FILE,可以客户端计算机向远程服务器上传文件 $_FILES 第一个参数是input name 第二个下标可以

15110

Django 教程 --- Django视图

此响应可以是网页HTML内容,重定向,404错误,XML文档图像(Web浏览器可以显示任何内容) ? Django查看范例 使用示例说明如何创建和使用Django视图。...每个视图函数负责返回HttpResponse对象 有关HttpRequest和HttpResponse更多信息,请访问-Django请求和响应周期- HttpRequest和HttpResponse对象...基于功能视图通常分为4种基本策略,即CRUD(创建检索,更新,删除)。CRUD是用于开发任何框架基础。 基于功能视图示例– 让我们创建一个基于函数视图列表视图以显示模型实例。...验证是否已从 http://localhost:8000/admin/geeks/geeksmodel/ 创建实例 ? 让我们为其创建一个视图和模板。...类似地,基于函数视图可以使用用于创建,更新,检索和删除视图逻辑来实现。

3K30

2. 使用Kubernetes和Docker

创建、运行及共享容器镜像 介绍 深入学习前,先看看如何创建一个简单应用、打包成容器镜像、在远程集群本地集群运行 步骤简介 安装Docker并运行第一个“Hello World”容器 创建一个简单php...NAME STATUS ROLES AGE VERSION minikube Ready 43m v1.14.2 查看对象更多信息查看对象更多信息查看对象更多信息查看对象更多信息..."php-container" created 部署应用最简单方式是使用kubectl run命令,它会创建所有必要组件而无需jsonyaml文件,这样不需要深入了解每个组件对象结构 参数解释...服务器发送http请求在集群创建一个新ReplicationController对象 ?...访问web应用 介绍:每个pod在集群内有自己ip,要让pod外部访问,需要通过服务对象公开它,要创建一个特殊LoadBalance类型服务 创建一个服务对象 命令 $ kubectl expose

97520

Laravel Validation 表单验证(二、验证表单请求)

验证表单请求 创建表单请求验证 面对更复杂验证情境,你可以创建一个「表单请求」来处理更为复杂逻辑。表单请求是包含验证逻辑自定义请求类。...在这个方法,你可以检查经过身份验证用户确定其是否具有更新给定资源权限。比方说,你可以判断用户是否拥有更新文章评论权限: /** * 判断用户是否有权限做出此请求。...查看特定字段第一个错误信息 要查看特定字段第一个错误消息,可以使用 first 方法: $errors = $validator->errors(); echo $errors->first('email...注册自定义验证规则方法之一,就是使用规则对象可以使用 Artisan 命令 make:rule 来生成新规则对象。接下来,让我们用这个命令生成一个验证字符串是否是大写规则。...Laravel 会将新规则存放在 app/Rules 目录php artisan make:rule Uppercase 一旦创建了规则,我们就可以定义它行为。

29.1K10

js学习总结

二:关于复杂数据类型在栈内存和堆内存关系 复杂数据对于栈内存和堆内存他们只指向同一对象,不会因为堆内存里多个变量赋值后在栈内存里面产生多个对象,其中改变某个变量值将影响其他变量值,只有创建一个新对象...3、charAt()方法用来得到指定位置字符串,字符串位置默认是0开始,也就是说要得到一个字符串第一个字符就用下标0来访问。...7、js里面每个方法属性里面有的是有很多单词组成,每个单词第一个字母要大写。 8、访问对象属性有两种方法:一个是就是  .  点运算符,还有个就是  [] 括号。...cancelBubble集检索当前事件是否事件处理程序层次结构得到冒泡。 clientX设置获取鼠标指针位置相对于窗口客户区x坐标,窗口装饰和滚动条除外。...offsetY设置获取鼠标指针位置相对于触发事件对象y坐标。 returnValue设置检索从事件返回值。 screenX检索用户屏幕上鼠标指针相对位置x坐标。

2.3K60

PHP 面试踩过坑(二)「建议收藏」

Static类/方法 (1)可以实例化类而直接访问 (2)静态属性不可以对象通过->操作符来访问,用::方式调用 原文:http://www.php.cn/php-weizijiaocheng-372186...如果应用需要执行大量INSERTUPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作性能。...例如: 如果我需要在早晨家里出发去上班,我可以有几个策略考虑:我可以乘坐地铁,乘坐公交车,走路其它途径。每个策略可以得到相同结果,但是使用了不同资源。...单例模式有以下3个特点: 1.只能有一个实例。 2.必须自行创建这个实例。 3.必须给其他对象提供这一实例。 那么为什么要使用PHP单例模式?...因为每一次new操作都会消耗系统和内存资源。 # 注册模式 注册模式,解决全局共享和交换对象。已经创建对象,挂在到某个全局可以使用数组上,在需要使用时候,直接该数组上获取即可。

38920

phpspreadsheet中文手册_php file_put_contents

; writer = new Xlsx(spreadsheet); $writer->save(‘hello world.xlsx’); 实例带了实例代码,位置 vendor/phpoffice/...spreadsheet->getActiveSheet() ->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME)); } 注意:对多个工作表使用相同工作表索引不会将文件附加到同一工作表...您无法将多个 CSV 文件加载到同一工作表。...转为数组 文件最后会载入到一个对象,我称为 spreadsheet 工作表对象,这个对象存放着所以工作表集合信息(数据信息和格式信息、工作表信息等)$spreadsheet = PhpOffice...更多PHP相关知识,请访问PHP中文网! 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

4.9K40

PHP5魔术方法

一、 __construct(),类构造函数 php构造方法是对象创建完成后第一个对象自动调用方法。...那么我们就不可以对象外部使用isset()函数来测定私有成员属性是否被设定了呢?当然是可以,但不是一成不变。...更多精彩内容关注微信公众号:全栈开发者中心(admin10000_com) 那么如果在一个对象外部去删除对象内部成员属性用unset()函数可以吗?...在魔术函数 __autoload() 方法出现以前,如果你要在一个程序文件实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义在同一个类文件...十六、__debugInfo(),打印所需调试信息 注意: 该方法在PHP 5.6.0及其以上版本才可以用,如果你发现使用无效或者报错,请查看啊你版本。 看代码: <?

2.6K10

浅析JavaScript正则表达式

.允许在同一正则表达式后部引用前面的子表达式,引用实例而非匹配模式。...注:perl风格\n,RegExp对象则$n,以左圆括号为子表达式索引,1开始 'AA Am 99'.match(/(\w)\1/g);//["AA","99"] /(A+)((B|C|D)+)(E...6.指定匹配位置 正则表达式匹配位置是一个难点 锚字符与断言 字符 含义 ^ 匹配字符串开头,在多行检索匹配一行开头 $ 匹配字符串结尾,在多行检索匹配一行结尾 \b 匹配一个单词边界...设置了修饰符g,则返回数组包含字符串所有匹配结果,若没有g,就不会进行全局检索,只会检索第一个匹配。...9.RegExp对象 RegExp第一个参数包含正则表达式主体部分,也就是直接量两条斜线之间文本,不论是字符串直接量还是正则表达式都使用 \ 字符作为转义字符前缀, 因此当给RegExp()传入一个字符串表述正则表达式时

1.5K30

PHP操作Memcached方法汇总

memcached非关系型数据库安装、phpmemcache扩展安装、以及phpmemcached扩展安装可以参考: http://www.cnblogs.com/phpstudy2015-...里面缓存项 参数: #type   期望抓取统计信息类型,可以使用值有{reset, malloc, maps, cachedump, slabs, items, sizes} #slabid  ...但可以创建时通过persistent_id为每个实例指定唯一ID,在请求间共享实例。所有通过相同persistent_id值创建实例共享同一个连接。 <?...php # 创建一个普通对象 $m1 = new Memcached(); echo get_class($m); /* 创建持久化对象 */ $m2 = new Memcached(...::isPristine ( void ) #测试memcache是否最近创建 49、public bool Memcached::quit ( void ) #关闭连接 50、public bool

52220

【译】现代化PHP开发--迭代器Iterator

3.1、封装形式 在我们第一个迭代器TrendingRepositoriesIterator,遍历Github存储库详细信息外部获取,在内部隐藏完成。...与scandir函数相比,DirectoryIterator返回一个对象,而不是文件名作为字符串。该对象包含与文件有关各种信息,我们可以使用这些信息。...PHP 5.5开始,我们将不会再受到这个困扰。 PHP引入了一些生成器,它们提供了一种简单方法来实现简单迭代器,而又不会增加实现迭代器接口开销复杂性。 究竟是什么生成器?...首次调用生成器函数时,PHP创建一个Generator对象。这个Generator对象是内部类Generator一个实例,并且Generator类实现Iterator接口。...这样,用户就可以创建迭代器而无需编写合同规定代码,这一切都要归功于PHP Generator。 当我们需要提供步长值时,将调用yield。 将其视为常规迭代器函数当前方法返回。

2.2K30

如何在tweet上识别不实消息(一)

我们Twitter人工收集了上万条tweet并且我们检索模型如何实现0.95平均精度(MAP)。最后,我们相信我们数据集是第一个基于谣言检测大规模数据集。...它在分析在线不实信息等方面的微博记录打开了新维度。 1.导论 在我们方法,我们解决了两个基本问题。第一个问题涉及谣言相关在线微博。...在第二个任务,我们使用被标记为谣言tweet和识别用户赞同(相信)传闻与否认质疑它用户。以下三个tweets都是同一个故事。第一个用户是一个信徒,第二个和第三个不是。 ?...第一个模型是已发布积极实例重新发布积极实例所有用户概率分布。类似地,第二模型是针对已经发布(或者重新发送)为否定用户概率分布实例。在建立模型后,对于给定tweet。...第二个用户正在重新推送第一个用户tweet,但已经添加更多内容到tweet,并使其成为谣言。 ?

1.1K10
领券