PHP 程式檢查字謎


什麼是 PHP?

PHP(超文字預處理器)是一種廣泛使用的伺服器端指令碼語言,用於 Web 開發。它允許開發人員將程式碼嵌入 HTML 檔案中,從而建立動態網頁並與資料庫進行互動。PHP 以其簡單性、多功能性和與流行資料庫的廣泛整合能力而聞名。它提供了廣泛的擴充套件,並擁有龐大的開發者社群,確保了充足的資源和支援。

什麼是字謎?

字謎是由另一個單詞或短語的字母重新排列而成的單詞或短語。在字謎中,必須精確使用所有原始字母,不得新增或缺少任何字母。

示例

考慮單詞“listen”。透過重新排列其字母,我們可以形成單詞“silent”。由於這兩個單詞都使用相同的字母集,只是順序不同,“listen”和“silent”互為字謎。

PHP 程式檢查字謎

使用 count_chars() 函式

count_chars() 是一個內建的 PHP 函式,它返回有關字串中字元頻率的資訊。它提供了不同的操作模式來計算字串中每個字元出現的次數。

語法

count_chars(string $string, int $return_mode = 0): mixed

引數

$string(必填):要計算字元的輸入字串。

$return_mode(可選):count_chars() 的返回模式。它可以是以下值之一

0:返回一個字串,其中包含輸入字串中所有唯一的字元及其頻率。如果未提供 $return_mode,則這是預設模式。

1:返回一個關聯陣列,其中鍵是字元的 ASCII 值,值是這些字元在輸入字串中的頻率。

返回值

  • 如果 $return_mode 設定為 0,則 count_chars() 返回一個字串,其中包含輸入字串中唯一的字元及其頻率。

  • 如果 $return_mode 設定為 1,則 count_chars() 返回一個關聯陣列,其中鍵是字元的 ASCII 值,值是這些字元在輸入字串中的頻率。

示例

<?php
	function is_anagram($string_1, $string_2)
	{
		if (count_chars($string_1, 1) == count_chars($string_2, 1))
			return 'yes';
		else
			return 'no';	
	}

	// Driver code
	print_r(is_anagram('stop', 'post')."
"); print_r(is_anagram('card', 'cart')."
"); ?>

輸出

yes 
no

程式碼解釋

提供的程式碼定義了一個函式 is_anagram(),用於檢查兩個字串是否互為字謎。它使用 count_chars() 函式比較兩個字串的字元頻率。如果兩個字串的字元頻率匹配,表示它們包含相同的字元集,則函式返回“yes”。否則,它返回“no”。程式碼透過檢查“stop”和“post”(不是字謎)以及“card”和“cart”(字謎)之間的字謎關係來演示函式的使用,並提供相應的輸出結果。

結論

總之,提供的程式碼在 PHP 中實現了名為 is_anagram() 的函式,用於檢查兩個字串是否互為字謎。它透過利用 count_chars() 函式來實現這一點,該函式計算字串中每個字元出現的次數並返回表示字元頻率的關聯陣列。程式碼使用模式 1 的 count_chars() 函式比較兩個輸入字串的字元頻率。如果字元頻率相等,表示字串包含相同的字元且頻率相同,則函式返回“yes”。否則,它返回“no”。此程式碼提供了一種簡單有效的方法來確定兩個字串是否為字謎,根據字謎條件提供“yes”或“no”的清晰簡潔的輸出。

更新於: 2023年8月1日

603 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.