PHP程序員必須會的 45 個PHP 面試題(第二部分)

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: ⭐⭐⭐

思考:

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在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了迷茫沒方向,不知道該從哪兒入手去提升自己。→→管理整理了一些資料,有 騰訊 等一線大廠進階知識體系 可供參考(相關學習資料以及筆面試題)

覆蓋各個技術棧:分佈式架構、高可擴展、高性能、高併發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階乾貨歡迎加入我的官方羣點擊此處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章