PHP程序員必須會的 45 個PHP 面試題(第一部分)
Q20: require_once 和 require 在什麼場景下使用?
Topic: PHP
Difficulty: ⭐⭐⭐
require_once() 作用與 require() 的作用是一樣的,都是引用或包含外部的一個 php 文件,require_once() 引入文件時會檢查文件是否已包含,如果已包含,不再包含 (require) 它。
我建議在 99.9% 的時候要使用require_once
使用require
或include
意味着您的代碼不可在其他地方重用,即您要拉入的腳本實際上是在執行代碼,而不是提供類或某些函數庫。
Q21: 判斷 PHP 數組是否是關聯數組
Topic: PHP
Difficulty: ⭐⭐⭐思考:
function has_string_keys(array $array) {
return count(array_filter(array_keys($array), 'is_string')) > 0;
}
如果$array
至少有一個字符串類型的 key ,它將被視爲關聯數組。
Q22: 如何將變量和數據從 PHP 傳至 Javascript
Topic: PHP
Difficulty: ⭐⭐⭐
這裏有幾種實現方法:
- 使用 Ajax 從服務端獲取你需要的數據。
思考get-data.php
echo json_encode(42);
思考index.html:
<script>
function reqListener () {
console.log(this.responseText);
}
var oReq = new XMLHttpRequest(); // new 一個請求對象
oReq.onload = function() {
// 在這裏你可以操作響應數據
// 真實的數據來自 this.responseText
alert(this.responseText); // 將提示: 42
};
oReq.open("get", "get-data.php", true);
// ^ 不要阻塞的其餘部分執行。
// 不要等到請求結束再繼續。
oReq.send();
</script>
- 可以在網頁任何地方輸出數據,然後使用 JavaScript 從 DOM 中獲取信息.
<div id="dom-target" style="display: none;">
<?php
$output = "42"; // 此外, 做一些操作,獲得 output.
echo htmlspecialchars($output); /* 你必須避免特殊字符,不然結果將是無效HTML。 */
?>
</div>
<script>
var div = document.getElementById("dom-target");
var myData = div.textContent;
</script>
- 直接在 JavaScript 代碼中 echo 數據。
<script>
var data = <?php echo json_encode("42", JSON_HEX_TAG); ?>; // Don't forget the extra semicolon!
</script>
Q23: 有一個方法可以複製一個 PHP 數組至另一個數組嗎?
Topic: PHP
Difficulty: ⭐⭐⭐
PHP 數組通過複製進行賦值,而對象通過引用進行賦值。所有默認情況下,PHP 將複製這個數組。這裏有一個 PHP 參考,一目瞭然:
$a = array(1,2);
$b = $a; // $b 是一個不同的數組
$c = &$a; // $c 是 $a 的引用
PHP程序員必須會的 45 個PHP 面試題(第三部分)敬請期待
很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了迷茫沒方向,不知道該從哪兒入手去提升自己。→→管理整理了一些資料,有 騰訊 等一線大廠進階知識體系 可供參考(相關學習資料以及筆面試題)