當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP String strtr()用法及代碼示例


strtr() 是 PHP 的內置函數,用於替換另一個字符串中的子字符串。它提供了更改字符串中特定單詞的函數。 strtr() 函數轉換字符或替換子字符串。這是一個區分大小寫的函數。 PHP 4+ 版本支持此函數。

注意:strtr() 函數從該字符出現的所有位置替換該字符。

PHP 中還有一些其他函數類似於 strtolower() 函數:

用法

此函數有兩種可用的語法,一種用於字符串或字符替換,另一種用於數組鍵替換。下麵給出了這些語法。

對於字符串替換:

strtr (string $str, string $from, string $to)

這個函數中有三個參數。在用 $to 替換 $from 的每個字符後,它返回 $str 的副本。

對於數組鍵替換:

strtr (string $str, array $replace_pair)

這裏,上麵的函數包含兩個參數。第二個參數是$replace_pair,它是一個數組的形式('from' => 'to', ?)。將所有出現的數組鍵替換為相應的值後,它將返回一個字符串。

參數

$str:它是一個正在翻譯的字符串參數,表示它是將要翻譯的主字符串。

$from:此函數的下一個參數,將在字符串中替換為$to。除非使用數組,否則它是必需參數。

$to:它是一個參數,將替換為 $from 變量。除非使用數組,否則此參數也需要作為 $from。

注意:如果 from 和 to 的長度不同,那麽較長字符串的多餘字符將被忽略。返回的字符串 $str 的長度將相同。

$replace_pair:這個參數是數組的形式,而不是from和to。該數組包含兩個字符串($string1 和 $string2),即需要更改的 string1 和更改為的 string2。

注意:如果 string1 和 string2 的長度不同,那麽較長的字符串將被格式化為較短字符串的長度。

返回值

  • 它在用 $to 字符替換 $from 字符後返回翻譯後的字符串。
  • 如果傳遞的參數是數組($replace_pair),則它通過將鍵字符串更改為相應的值來返回轉換後的字符串。如果該數組參數包含帶有空字符串 (? ?) 的鍵,則它將返回 FALSE。

例子

下麵給出了一些例子。借助這些示例,我們可以了解 strtr() 函數的工作原理。

例子1

<?php
	$strng1 = "Hiy! Guud Mohneng";
	$from =  "yuhe";
	$to = "eori";
	echo strtr($strng1, $from, $to);
?>

輸出:

Hie! Good Morning

解釋

y 替換為 e

u 替換為 o

h 替換為 r

e 替換為 i

所以,嗨! Guud Mohneng 被 Hie 取代!早上好。

例子2

PHP 程序演示 $from 和 $to 長度不同時的 strtr() 函數。

<?php
$strng1 = "Hiy! Geud Mohning";
	$from =  "yeuh";
	$to = "eor";
	echo strtr($strng1, $from, $to);
?>

輸出:

Hie! Gord Mohning

解釋

y 替換為 e

e 替換為 o

u 替換為 r

h 不會被任何字符替換。

現在,嗨! Geud Mohneng 被 Hie 取代!戈德·莫寧。

例子3

用數組鍵替換

<?php
$strng = "Wilcone to javaCpoint.";
	$arr1 = array("Wilcone" => "Welcome", "javaCpoint" => "javaTpoint");
	echo strtr($strng, $arr1);
?>

輸出:

Welcome to javaTpoint.

示例 4

PHP程序演示strtr()函數,當數組key為空""字符串時。

<?php
$strng = "Wilcone to javaCpoint.";
	$arr1 = array("Wilcone" => "Welcome", "" => "javaTpoint");
	echo strtr($strng, $arr1);
?>

輸出:

No output

例 5

用單個字母多次替換

<?php
$string = "Wilcone to javaCpoint.";
	$from = "inC";
	$to = "emT";
	echo strtr($string, $from, $to);
?>

輸出:

Welcome to javaTpoemt.

解釋

i 在多個地方被 e 替換。

n 在多處替換為 m。

C 僅被 T 替換一次,因為此函數區分大小寫。

因此,將 Wilcone to javaCpoint 替換為 Welcome to javaTpoemt 而不是 Welcome to JavaTpoint。

例 6

區分大小寫

<?php
$strng = "Gqqd health Gqqd Life.";
	$from = "q";
	$to = "o";
	echo strtr($strng, $from, $to);
	echo "</br>";
	echo strtr($strng, "Q", "o";);    //case-sensitive
?>

輸出:

在本例中,對於第一種情況,所有出現的 q 都替換為 o。另一方麵,Q 沒有替換為 o,因為它是一個區分大小寫的函數。

Good health Good Life.
Gqqd health Gqqd Life.     //case-sensitive






相關用法


注:本文由純淨天空篩選整理自 PHP String strtr() function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。