$str=':this is a applepie :) ';
So verwenden Sie PHP : Entfernen Sie das erste Zeichen:
$str=':this is a applepie :) ';
So verwenden Sie PHP : Entfernen Sie das erste Zeichen:
Antworten:
Um alle Zeichen:
vom Anfang eines Strings zu entfernen , können Sie ltrim verwenden :
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
:::::
. Manchmal ist dies kein gewünschtes Verhalten.
ltrim('prefixprefix_postfix', 'prefix')
Ergebnisse in'_postfix';
Die substr()
Funktion wird Ihnen hier wahrscheinlich helfen:
$str = substr($str, 1);
Strings werden ab 0 indiziert, und dieser zweite Parameter der Funktion übernimmt den Cutstart. Machen Sie also diese 1, und das erste Zeichen ist weg.
false
wurde zurückgegeben. Sie müssten also überprüfen, ob sie gleich sind, wenn dies nicht das gewünschte Verhalten ist.
Verwenden Sie substr :
$str = substr($str, 1); // this is a applepie :)
Ausführungszeit für die 3 Antworten:
Entfernen Sie den ersten Buchstaben, indem Sie das Gehäuse ersetzen
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
Ausführungszeit für 1.000.000 Tests: 0.39602184295654
Sek
Entfernen Sie den ersten Buchstaben mit substr ()
$str = "hello";
$str = substr($str, 1);
Ausführungszeit für 1.000.000 Tests: 5.153294801712
Sek
Entfernen Sie den ersten Buchstaben mit ltrim ()
$str = "hello";
$str= ltrim ($str,'h');
Ausführungszeit für 1.000.000 Tests: 5.2393000125885
Sek
Entfernen Sie den ersten Buchstaben mit preg_replace ()
$str = "hello";
$str = preg_replace('/^./', '', $str);
Ausführungszeit für 1.000.000 Tests: 6.8543920516968
Sek
$str[0] = '';
Lösung ausprobiert und es hat nicht funktioniert. Nun, es funktioniert jedoch, wenn Sie dann vorhaben, die Variable zum Vergleichen zu verwenden, >
oder <
es funktioniert nicht. Es zählt zum Beispiel immer noch als + $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
var_dump($keyword)
, die vorherige Zeichenlänge anzuzeigen . Dann habe ich versucht, das Schlüsselwort zu kürzen, und dann hat es gut funktioniert var_dump(trim($keyword))
. Ich hoffe, das hilft jemandem. :)
Hier ist der Code
$str = substr($str, 1);
echo $str;
Ausgabe:
this is a applepie :)
Um das erste Zeichen der Zeichenfolge in PHP zu entfernen,
$string = "abcdef";
$new_string = substr($string, 1);
echo $new_string;
Generates: "bcdef"
$str = substr($str, 1);
Siehe PHP-Handbuch Beispiel 3
echo substr('abcdef', 1); // bcdef
Hinweis:
unset($str[0])
funktioniert nicht, da Sie einen Teil einer Zeichenfolge nicht deaktivieren können: -
Fatal error: Cannot unset string offsets
Nach weiteren Tests empfehle ich die Verwendung nicht mehr. Es hat ein Problem für mich verursacht, als ich die aktualisierte Zeichenfolge in einer MySQL-Abfrage verwendet und substr
das Problem behoben habe. Ich habe darüber nachgedacht, diese Antwort zu löschen, aber Kommentare deuten darauf hin, dass sie irgendwie schneller ist, sodass jemand eine Verwendung dafür haben könnte. Möglicherweise werden beim Trimmen der aktualisierten Zeichenfolge Probleme mit der Zeichenfolgenlänge behoben.
Manchmal brauchen Sie keine Funktion:
$str[0] = '';
Beispielsweise:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
Diese Methode ändert die vorhandene Zeichenfolge, anstatt eine andere zu erstellen.
Sie können die Funktion sbstr () verwenden
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
Trimmt das Vorkommen jedes Wortes in einem Array vom Anfang und Ende einer Zeichenfolge + Leerzeichen und optional zusätzliche Einzelzeichen gemäß normalem Trimmen ().
<?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"
?>
Der Code funktioniert gut für mich.
$str = substr($str ,-(strlen($str)-1));
Vielleicht tragen Sie auch mit Antworten bei.