PHP Manual
Prev |  | Next

# substr

(PHP 3, PHP 4 )

substr -- Return part of a string

## Description

string substr ( string string, int start [, int length])

Substr returns the portion of `string` specified by the `start` and `length` parameters.

If `start` is non-negative, the returned string will start at the `start`'th position in `string`, counting from zero. For instance, in the string '`abcdef`', the character at position `0` is '`a`', the character at position `2` is '`c`', and so forth.

Example 1. Basic substr() usage

    <?php
    $rest = substr("abcdef", 1);    // returns "bcdef"
    $rest = substr("abcdef", 1, 3); // returns "bcd"
    $rest = substr("abcdef", 0, 4); // returns "abcd"
    $rest = substr("abcdef", 0, 8); // returns "abcdef"

    // Accessing via curly braces is another option
    $string = 'abcdef';
    echo $string{0};                // returns a
    echo $string{3};                // returns d
    ?>

If `start` is negative, the returned string will start at the `start`'th character from the end of `string`.

Example 2. Using a negative `start`

    <?php
    $rest = substr("abcdef", -1);    // returns "f"
    $rest = substr("abcdef", -2);    // returns "ef"
    $rest = substr("abcdef", -3, 1); // returns "d"
    ?>

If `length` is given and is positive, the string returned will contain at most `length` characters beginning from `start` (depending on the length of `string`. If `string` is less than `start` characters long, `FALSE` will be returned.

If `length` is given and is negative, then that many characters will be omitted from the end of `string` (after the start position has been calculated when a `start` is negative). If `start` denotes a position beyond this truncation, an empty string will be returned.

Example 3. Using a negative `length`

    <?php
    $rest = substr("abcdef", 0, -1);  // returns "abcde"
    $rest = substr("abcdef", 2, -1);  // returns "cde"
    $rest = substr("abcdef", 4, -4);  // returns ""
    $rest = substr("abcdef", -3, -1); // returns "de"
    ?>

See also strrchr() and ereg().

Prev | Home | Next
substr_replace | Up | trim