PHP程序员必须会的 45 个PHP 面试题(第二部分)

Q20: require_once 和 require 在什么场景下使用?

Topic: PHP
Difficulty: ⭐⭐⭐

require\_once() 作用与 require() 的作用是一样的,都是引用或包含外部的一个 php 文件,require\_once() 引入文件时会检查文件是否已包含,如果已包含,不再包含 (require) 它。

我建议在 99.9% 的时候要使用require_once

使用requireinclude意味着您的代码不可在其他地方重用,即您要拉入的脚本实际上是在执行代码,而不是提供类或某些函数库。

Q21: 判断 PHP 数组是否是关联数组

Topic: PHP
Difficulty: ⭐⭐⭐

思考:

1function has_string_keys(array $array) { 2 return count(array_filter(array_keys($array), 'is_string')) > 0; 3}

如果$array至少有一个字符串类型的 key ,它将被视为关联数组。

Q22: 如何将变量和数据从 PHP 传至 Javascript

Topic: PHP
Difficulty: ⭐⭐⭐

这里有几种实现方法:

  • 使用 Ajax 从服务端获取你需要的数据。

思考get-data.php

echo json_encode(42);

思考index.html:

1<script> 2 function reqListener () { 3 console.log(this.responseText); 4 } 5 6 var oReq = new XMLHttpRequest(); // new 一个请求对象 7 oReq.onload = function() { 8 // 在这里你可以操作响应数据 9 // 真实的数据来自 this.responseText 10 alert(this.responseText); // 将提示: 42 11 }; 12 oReq.open("get", "get-data.php", true); 13 // ^ 不要阻塞的其余部分执行。 14 // 不要等到请求结束再继续。 15 oReq.send(); 16</script>
  • 可以在网页任何地方输出数据,然后使用 JavaScript 从 DOM 中获取信息.
1<div id="dom-target" style="display: none;"> 2 <?php 3 $output = "42"; // 此外, 做一些操作,获得 output. 4 echo htmlspecialchars($output); /* 你必须避免特殊字符,不然结果将是无效HTML。 */ 5 ?> 6</div> 7<script> 8 var div = document.getElementById("dom-target"); 9 var myData = div.textContent; 10</script>
  • 直接在 JavaScript 代码中 echo 数据。
1<script> 2 var data = <?php echo json_encode("42", JSON_HEX_TAG); ?>; // Don't forget the extra semicolon! 3</script>

Q23: 有一个方法可以复制一个 PHP 数组至另一个数组吗?

Topic: PHP
Difficulty: ⭐⭐⭐
PHP 数组通过复制进行赋值,而对象通过引用进行赋值。所有默认情况下,PHP 将复制这个数组。这里有一个 PHP 参考,一目了然:

1$a = array(1,2); 2$b = $a; // $b 是一个不同的数组 3$c = &$a; // $c 是 $a 的引用

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )