回答:
:
文字列の先頭からすべてを削除するには、ltrimを使用できます。
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
:::::
。時々、これは望ましい動作ではありません。
ltrim('prefixprefix_postfix', 'prefix')
結果は'_postfix';
substr()
この関数は、おそらくここにお手伝いを致します。
$str = substr($str, 1);
文字列には0から始まるインデックスが付けられ、この関数の2番目のパラメーターはカットスタートを受け取ります。だから、それを1にすると、最初のcharはなくなります。
false
は返されました。したがって、それが目的の動作でない場合は、それらが等しいかどうかを確認する必要があります。
substrを使用:
$str = substr($str, 1); // this is a applepie :)
3つの回答の実行時間:
ケースを交換して最初の文字を削除します
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
1.000.000テストの実行時間:0.39602184295654
秒
substr()で最初の文字を削除します
$str = "hello";
$str = substr($str, 1);
1.000.000テストの実行時間:5.153294801712
秒
ltrim()で最初の文字を削除します
$str = "hello";
$str= ltrim ($str,'h');
1.000.000テストの実行時間:5.2393000125885
秒
preg_replace()で最初の文字を削除します
$str = "hello";
$str = preg_replace('/^./', '', $str);
1.000.000テストの実行時間:6.8543920516968
秒
$str[0] = '';
解決策を試したところ、うまくいきませんでした。よくそれはあなたがして比較すること、たとえば、変数を使用する予定がある場合がありません>
か<
、それは動作しません。たとえば、「 `+ +」としてカウントされます $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
var_dump($keyword)
、以前の文字長を表示してみました。次に、キーワードをトリミングしてみましたが、うまくいきvar_dump(trim($keyword))
ました。これが誰かに役立つことを願っています。
$str = substr($str, 1);
echo substr('abcdef', 1); // bcdef
注意:
unset($str[0])
文字列の一部を設定解除できないため、機能しません:-
Fatal error: Cannot unset string offsets
さらにテストを行った後、これを使用することはお勧めしません。MySQLクエリで更新された文字列を使用しsubstr
、問題を修正するように変更すると、問題が発生しました。私はこの答えを削除することを考えましたが、コメントはそれが何らかの形でより速いことを示唆しているので、誰かがそれを使用するかもしれません。更新された文字列をトリミングすると、文字列の長さの問題が解決する場合があります。
時々あなたは関数を必要としません:
$str[0] = '';
例えば:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
このメソッドは、別の文字列を作成するのではなく、既存の文字列を変更します。
sbstr()関数を使用できます
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
配列内のすべての単語の出現を、文字列+空白文字の先頭と末尾から切り取り、オプションで通常のtrim()のように余分な単一文字を切り取ります
<?php
function trim_words($what, $words, $char_list = '') {
if(!is_array($words)) return false;
$char_list .= " \t\n\r\0\x0B"; // default trim chars
$pattern = "(".implode("|", array_map('preg_quote', $words)).")\b";
$str = trim(preg_replace('~'.$pattern.'$~i', '', preg_replace('~^'.$pattern.'~i', '', trim($what, $char_list))), $char_list);
return $str;
}
// for example:
$trim_list = array('AND', 'OR');
$what = ' OR x = 1 AND b = 2 AND ';
print_r(trim_words($what, $trim_list)); // => "x = 1 AND b = 2"
$what = ' ORDER BY x DESC, b ASC, ';
print_r(trim_words($what, $trim_list, ',')); // => "ORDER BY x DESC, b ASC"
?>
コードは私にとってはうまくいきます。
$str = substr($str ,-(strlen($str)-1));
たぶん、答えも投稿してください。