在 PHP 中列印到控制檯

Subodh Poudel 2023年1月30日
  1. 使用 PHP 中的 JavaScript console.log() 寫入控制檯
  2. 在 PHP 中使用 JavaScript console.log()json_encode() 函式寫入控制檯
在 PHP 中列印到控制檯

本教程介紹瞭如何在 PHP 中寫入控制檯。

使用 PHP 中的 JavaScript console.log() 寫入控制檯

我們可以使用 PHP 中的一些 JavaScript 來寫入控制檯。我們在 JavaScript 中使用 console.log() 向控制檯寫入任何內容。我們可以使用 echo 語句從 PHP 中的 JavaScript 列印 console.log()。如果我們使用 PHP 變數作為 console.log() 的引數,那麼變數的內容將被寫入控制檯。我們可以使用 is_array() 函式來檢查要列印的變數是否為陣列。如果元素是一個陣列,我們可以使用帶有 , 作為分隔符的 implode() 函式將陣列元素連線成一個字串。

例如,建立一個函式 write_to_console(),它接受一個引數 $data。將 $data 變數儲存在新變數 $console 中。使用 is_array() 函式檢查變數 $console 是否是一個陣列。如果變數是一個陣列,則使用 implode() 函式並使用 , 作為分隔符連線陣列元素。將值儲存在 $console 變數中。然後,在 script 標籤內,使用 console.log() 記錄 $console 變數。然後使用 echo 語句列印 JavaScript 程式碼。在函式外,使用兩個不同的引數呼叫 write_to_console() 函式。提供字串 Hello World!作為第一個引數,陣列 [1,2,3] 作為第二個引數。

當我們進入網頁並從 Inspect Element 選項檢查控制檯時,我們可以看到寫入控制檯的資料。這樣,我們就可以在 PHP 中使用輔助函式寫入控制檯了。

示例程式碼:

<?php

function write_to_console($data) {
 $console = $data;
 if (is_array($console))
 $console = implode(',', $console);

 echo "<script>console.log('Console: " . $console . "' );</script>";
}
write_to_console("Hello World!");
write_to_console([1,2,3]);

?>

輸出:

Console: Hello World! 
Console: 1,2,3

在 PHP 中使用 JavaScript console.log()json_encode() 函式寫入控制檯

我們可以使用 json_encode() 函式和 JavaScript console.log() 在 PHP 中寫入控制檯。json_ecode() 函式將給定的關聯陣列轉換為 JSON 物件,並將索引陣列轉換為 JSON 陣列。我們可以對那些需要寫入控制檯的資料項使用該函式。

例如,建立一個帶有引數 $data 的函式 write_to_console()。在函式內部,將 json_encode() 函式應用於 $data 變數並使用 console.log 記錄它。將整個表示式變成一個字串並將其儲存在 $console 變數中。然後,使用 sprintf() 函式將變數列印為 sprintf('<script>%s</script>', $console); 並將表示式分配給 $console。最後,使用 echo 語句列印 $console 變數。在函式之外,在變數 $data 上建立關聯陣列並在變數 $days 上建立索引陣列。然後,使用這兩個變數作為引數呼叫 write_to_console() 函式。

關聯陣列寫成 JSON 物件,索引陣列寫成控制檯中的 JSON 陣列。這就是我們如何使用 json_encode() 函式在 PHP 中寫入控制檯。

示例程式碼:

<?php
function write_to_console($data) {

 $console = 'console.log(' . json_encode($data) . ');';
 $console = sprintf('<script>%s</script>', $console);
 echo $console;
}
$data = [ 'foo' => 'bar' ];
$days = array("Sun", "Mon", "Tue");
write_to_console($data);
write_to_console($days);
?>

輸出:

Object { foo: "bar" }
Array(3) [ "Sun", "Mon", "Tue" ]
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn