How to remove the first character of string in PHP?

后端 未结 13 2198
一整个雨季
一整个雨季 2020-12-02 06:00
$str=\':this is a applepie :) \';

How to use PHP, Remove the first character :

相关标签:
13条回答
  • The substr() function will probably help you here:

     $str = substr($str, 1);
    

    Strings are indexed starting from 0, and this functions second parameter takes the cutstart. So make that 1, and the first char is gone.

    0 讨论(0)
  • 2020-12-02 06:31

    Trims occurrences of every word in an array from the beginning and end of a string + whitespace and optionally extra single characters as per normal 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"
    ?>
    
    0 讨论(0)
  • 2020-12-02 06:33

    To remove first Character of string in PHP,

    $string = "abcdef";     
    $new_string = substr($string, 1);
    
    echo $new_string;
    Generates: "bcdef"
    
    0 讨论(0)
  • 2020-12-02 06:34

    Exec time for the 3 answers :

    Remove the first letter by replacing the case

    $str = "hello";
    $str[0] = "";
    // $str[0] = false;
    // $str[0] = null;
    // replaced by �, but ok for echo
    

    Exec time for 1.000.000 tests : 0.39602184295654 sec


    Remove the first letter with substr()

    $str = "hello";
    $str = substr($str, 1);
    

    Exec time for 1.000.000 tests : 5.153294801712 sec


    Remove the first letter with ltrim()

    $str = "hello";
    $str= ltrim ($str,'h');
    

    Exec time for 1.000.000 tests : 5.2393000125885 sec


    Remove the first letter with preg_replace()

    $str = "hello";
    $str = preg_replace('/^./', '', $str);
    

    Exec time for 1.000.000 tests : 6.8543920516968 sec

    0 讨论(0)
  • 2020-12-02 06:40

    Use substr:

    $str = substr($str, 1); // this is a applepie :)
    
    0 讨论(0)
  • 2020-12-02 06:40

    Update

    After further tests, I don't recommend using this any more. It caused a problem for me when using the updated string in a MySQL query, and changing to substr fixed the problem. I thought about deleting this answer, but comments suggest it is quicker somehow so someone might have a use for it. You may find trimming the updated string resolves string length issues.


    Sometimes you don't need a function:

    $str[0] = '';
    

    For example:

    $str = 'AHello';
    $str[0] = '';
    echo $str; // 'Hello'
    

    This method modifies the existing string rather than creating another.

    0 讨论(0)
提交回复
热议问题