この記事では、主に PHP の一般的な文字関数を紹介し、一般的な PHP 文字関数 substr、preg_match、strpos、dirname、str_split を例の形式で要約および分析します。この記事を参照してください 例は、PHP の一般的な文字関数をまとめたものです。参考のために皆さんと共有してください。詳細は次のとおりです:
1. string substr(string $string, int $start [,int $length])
関数 function: 文字列 string を返します。 start と length で構成されます。パラメータで指定された部分文字列です。
パラメータ:string
: 文字列を入力します。 start
: start が負ではない数値の場合、返される文字列は string の開始位置から始まり、0 からカウントを開始します。たとえば、「abcdef」では、位置 0 は「a」、位置 2 は「c」です。 start が負の数の場合、返される文字列は文字列の末尾から前方の開始文字から始まります。 文字列の長さが start 以下の場合は、FALSE を返します。
$rest=substr(" abcdef ",-1);//返回“ f ” $rest=substr(" abcdef ",-2);// 返回 “ ef ” $rest=substr(" abcdef ",-3,1); //返回 “ d ”
: 正の長さが指定された場合、返される文字列には先頭から最大長の文字を含めることができます (文字列の長さに応じて)。 負の長さを指定すると、文字列の末尾の多くの文字が失われます。つまり、文字は末尾から考慮されません (開始がテキストにない場合は切り捨てられることがわかります)。空の文字列が返されます。
長さに 0、FALSE、または NULL の値が指定された場合、空の文字列が返されます。
長さが指定されていない場合、返される文字列は開始位置から文字の末尾までになります。
$rest=substr("abcdef","0","-1"); //返回 abcde $rest=substr("abcdef","2","-1"); //返回 cde $rest=substr("abcdef"," 4","-4"); //返回 NULL $rest=substr("abcdef","-3","-1"); //返回 de
[ ] 角括弧は、パラメータがオプションであることを示します。設定されていない場合、それがデフォルトのパラメータになります。 (私はほぼ 8 か月間 PHP を使ってきましたが、なぜ
関数のパラメーターを角括弧で囲む必要があるのか、ずっと疑問に思っていました。今日、ついに Baidu を助けることができませんでした! 残念!)
2. int preg_match (string $pattern, string $subject [, array &$matches [, int $flag=0 [, int $offset=0 ]]])
関数: subject と Regular の間の一致を検索します。 pattern によって与えられる式。
パラメータ:
$pattern: 検索するパターン、文字タイプ。 $subject
: 入力文字列。 $matches
: パラメータ match が指定されている場合、検索結果として入力されます。$matches[0] には完全なパターンと一致するテキストが含まれ、$matches[1] には最初のキャプチャで一致したテキストが含まれますサブグループなど。 $flags
:flags は次のフラグ値に設定できます:
このフラグが渡されると、一致するたびに文字列オフセット (ターゲット文字列を基準とした) が返されます。注: これにより、matches パラメーターに入力された配列が変更され、各要素が 0 番目の要素が一致した文字列になり、最初の要素がターゲット文字列のサブジェクト内の一致した文字列のオフセットになるようになります。 offset
:通常、検索はターゲット文字列の未知の先頭から開始されます。オプションのパラメータ offset は、ターゲット文字列の未知の先頭からの検索を指定するために使用されます (単位はバイト)。注意:
offset パラメータの使用は、preg_match() に渡して substr($subject, $offset) を介して位置によってターゲット文字列の結果をインターセプトすることとは異なります。これは、パターンには ^、$、または (?<=x) などのアサーションが含まれる可能性があるためです。比較:
<?php $subject = "abcdef"; $pattern = '/^def/'; preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3); print_r($matches); ?>
上記のルーチンは出力します: Array
(
)
<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>
Array ( [0] => Array ( [0] => def [1] => 0 ) )
3. strpos(string,find,start)
string: 必須、検索する文字列を指定します。 find
: 必須。検索する文字を指定します。start: オプション。検索を開始する位置を指定します。デフォルトでは最初の文字から開始します。
この関数は大文字と小文字を区別します。これを望まない場合は、stripos() 関数を使用できます。
例: echo strpos("Hello world! "," wo ");// 输出 6
4. 関数関数: Getパス内のディレクトリ名。 Win32 システムではスラッシュ (/) またはバックスラッシュ () を使用できますが、他のオペレーティング システムではパスは (/) です。
$path = "/etc/hostname"; $file = dirname($path);
$file は "/etc"
5. str_split(string,length)
string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。
<?php print_r(str_split("Hello")); ?>
运行结果:
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o )
以上がPHPでよく使われる文字関数のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。