So erhalten Sie das erste Zeichen einer Zeichenfolge in PHP

Lesezeit: 2 Minuten

Ich muss das erste Zeichen der angegebenen Zeichenfolge erhalten. hier habe ich einen Namen in der Session-Variablen. Ich übergebe den Variablenwert an die substr um das erste Zeichen der Zeichenfolge zu erhalten. aber ich konnte nicht.

Ich möchte das erste Zeichen dieser Zeichenfolge erhalten.

zum Beispiel John doe. Ich möchte das erste Zeichen der Zeichenfolge erhalten j. Wie bekomme ich es mit PHP?

  <?php
      $username = $_SESSION['my_name'];
      $fstchar = substr($username, -1);
  ?>

  • Versuche dies $fstchar = $username[0];

    – mega6382

    24. November 2015 um 10:13 Uhr


  • $arr = str_split($benutzername); echo $arr[0];

    – Vigneswaran S

    24. November 2015 um 10:14 Uhr

  • Mögliches Duplikat von Get first n characters of a string

    – Vivek Jain

    24. November 2015 um 10:16 Uhr

  • substr($username, -1); bekommt die zuletzt Zeichen der Zeichenfolge

    – Markus Bäcker

    24. November 2015 um 10:18 Uhr

Benutzeravatar von James Wallen-Jones
James Wallen-Jones

Für die Einzelbyte-codierten (binären) Zeichenfolgen:

substr($username, 0, 1);
// or 
$username[0] ?? null;

Für die Multibyte-codierten Zeichenfolgen, z. B. UTF-8:

mb_substr($username, 0, 1);

  • Wenn $username ist eine leere Zeichenfolge, $username[0] erzeugt einen Hinweis auf PHP 7.x und eine Warnung in PHP 8.x. Beispiel

    – Nabil Kadimi

    30. September 2021 um 3:32 Uhr

Benutzeravatar von Nabil Kadimi
Nabil Kadimi

Drei Lösungen sortiert nach Robustheit

1. mb_substr

Es berücksichtigt die Textkodierung. Beispiel:

$first_character = mb_substr($str, 0, 1)

2. substr

Beispiel:

$first_character = substr($str, 0, 1);

3. Verwenden von Klammern ([])

Vermeiden Sie als es wirft einen Hinweis in PHP 7.x und eine Warnung in PHP 8.x, wenn der String leer ist. Beispiel:

$first_character = $str[0];

  • So?

    – Ihr gesunder Menschenverstand

    2. Juni 2022 um 15:48 Uhr

  • Was??

    – Nabil Kadimi

    20. Januar um 1:58

In PHP8 Wenn Sie nur überprüfen müssen, ob das erste Zeichen einer bestimmten Zeichenfolge gleich etwas ist, können Sie dies folgendermaßen tun:

if (str_starts_with($s, $characterToCheck)) {
    // DO SOMETHING
}

Wenn das Problem beim kyrillischen Alphabet liegt, müssen Sie es folgendermaßen verwenden:

mb_substr($username, 0, 1, "UTF-8");

Strings können als Char-Arrays angesehen werden, und der Zugriff auf eine Position eines Arrays erfolgt über die [] Operator, also gibt es überhaupt kein Problem bei der Verwendung von $str[0] (und ich bin mir ziemlich sicher, dass es viel schneller ist als die substr-Methode).

$fstchar = $username[0];

schneller als alle Methoden

Benutzeravatar von mega6382
mega6382

Strings in PHP sind Arrays ähnlich, also einfach

$username[0]

Benutzeravatar von Nabil Kadimi
Nabil Kadimi

Ich habe nicht allzu viel Erfahrung mit PHP, aber dies kann Ihnen helfen: Substr

1448930cookie-checkSo erhalten Sie das erste Zeichen einer Zeichenfolge in PHP

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy