ホームページ >バックエンド開発 >PHPチュートリアル >文字列を右から左にインターセプトする方法
文字列は「...他にもたくさんあります...001_002_003」です。右 (_003) にすると、左になります。 「...その他多数...001_002」 のすべての文字列
Substr には負の数を使用できます。詳細については、次を参照してください。
http://cn2.php.net/manual/zh/function.substr.php
" を使用できます_" を配列操作の区切り文字として使用します。
[code=php][665468cd1a03b543c6789883c97b355a /code]
<?php$str='001_002_003';$find='_003';echo substr($str,0,strpos($str,$find))?>
$s = '001_002_003';echo substr($s, 0, -4);//001_002echo substr($s, 0, strrpos($s, '_'));//001_002echo join('_', array_slice(explode('_', $s), 0, -1));//001_002echo strrev(substr(strrev($s), 4));//001_002
$str = '001_002_003';$data = explode('_',$str);krsort($data);foreach($data as $row)echo $row.'<br>';
$str = '001_002_003_004_005_006_007';$data = explode('_',$str);krsort($data);$total = count($data);$need = $total - 3;foreach($data as $k=>$row){ if($k<$need){ echo $row.'<br>'; }}
6 階のものはカウントされません。LZ が要求する条件のはずです。 、 右?
参考:
<?php$rest = substr("abcdef", 0, -1); // 返回 "abcde"$rest = substr("abcdef", 2, -1); // 返回 "cde"$rest = substr("abcdef", 4, -4); // 返回 ""$rest = substr("abcdef", -3, -1); // 返回 "de"?>
substr は負の数を含む正の解になる可能性があります