substr

(PHP 4, PHP 5, PHP 7)

substr锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷锟接达拷

说锟斤拷

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

锟斤拷锟斤拷锟街凤拷锟斤拷 string 锟斤拷 start 锟斤拷 length 锟斤拷锟斤拷指锟斤拷锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷

锟斤拷锟斤拷

string

锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟街凤拷锟斤拷

start

锟斤拷锟� start 锟角非革拷锟斤拷锟斤拷锟斤拷锟截碉拷锟街凤拷锟斤拷锟斤拷锟斤拷 string 锟斤拷 start 位锟矫匡拷始锟斤拷锟斤拷 0 锟斤拷始锟斤拷锟姐。锟斤拷锟界,锟斤拷锟街凤拷锟斤拷 "abcdef" 锟叫o拷锟斤拷位锟斤拷 0 锟斤拷锟街凤拷锟斤拷 "a"锟斤拷位锟斤拷 2 锟斤拷锟街凤拷锟斤拷锟斤拷 "c" 锟饺等★拷

锟斤拷锟� start 锟角革拷锟斤拷锟斤拷锟斤拷锟截碉拷锟街凤拷锟斤拷锟斤拷锟斤拷 string 锟斤拷尾锟斤拷锟斤拷前锟斤拷锟斤拷 start 锟斤拷锟街凤拷锟斤拷始锟斤拷

锟斤拷锟� string 锟侥筹拷锟斤拷小锟斤拷 start锟斤拷锟斤拷锟斤拷锟斤拷 FALSE锟斤拷

Example #1 使锟矫革拷锟斤拷 start

<?php
$rest 
substr("abcdef", -1);    // 锟斤拷锟斤拷 "f"
$rest substr("abcdef", -2);    // 锟斤拷锟斤拷 "ef"
$rest substr("abcdef", -31); // 锟斤拷锟斤拷 "d"
?>

length

锟斤拷锟斤拷峁╋拷锟斤拷锟斤拷锟斤拷锟� length锟斤拷锟斤拷锟截碉拷锟街凤拷锟斤拷锟斤拷锟斤拷 start 锟斤拷锟斤拷始锟斤拷锟斤拷锟斤拷 length 锟斤拷锟街凤拷锟斤拷取锟斤拷锟斤拷 string 锟侥筹拷锟饺o拷锟斤拷

锟斤拷锟斤拷峁╋拷烁锟斤拷锟斤拷锟� length锟斤拷锟斤拷么 string 末尾锟斤拷锟斤拷 length 锟斤拷锟街凤拷锟斤拷锟结被省锟皆o拷锟斤拷 start 锟角革拷锟斤拷锟斤拷锟斤拷址锟斤拷锟轿诧拷锟斤拷锟斤拷穑锟斤拷锟斤拷 start 锟斤拷锟斤拷锟斤拷锟斤拷谋锟斤拷校锟斤拷锟矫达拷锟斤拷锟斤拷锟� FALSE锟斤拷

锟斤拷锟斤拷峁╋拷锟街滴� 0锟斤拷FALSE 锟斤拷 NULL 锟斤拷 length锟斤拷锟斤拷么锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷

锟斤拷锟矫伙拷锟斤拷峁� length锟斤拷锟斤拷锟截碉拷锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷 start 位锟矫匡拷始直锟斤拷锟街凤拷锟斤拷锟斤拷尾锟斤拷

Example #2 使锟矫革拷锟斤拷 length

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

锟斤拷锟斤拷值

锟斤拷锟斤拷锟斤拷取锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
7.0.0 锟斤拷锟� string 锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷 start 锟斤拷同时锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷之前锟侥版本锟叫o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� FALSE 锟斤拷
5.2.2 - 5.2.6 If the start parameter indicates the position of a negative truncation or beyond, false is returned. Other versions get the string from start.

锟斤拷锟斤拷

Example #3 substr() 锟斤拷锟斤拷锟矫凤拷

<?php
echo substr('abcdef'1);     // bcdef
echo substr('abcdef'13);  // bcd
echo substr('abcdef'04);  // abcd
echo substr('abcdef'08);  // abcdef
echo substr('abcdef', -11); // f

// 锟斤拷锟斤拷锟街凤拷锟斤拷锟叫的碉拷锟斤拷锟街凤拷
// 也锟斤拷锟斤拷使锟斤拷锟斤拷锟斤拷锟斤拷
$string 'abcdef';
echo 
$string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f
?>

Example #4 substr() casting behaviour

<?php
class apple {
    public function 
__toString() {
        return 
"green";
    }
}

echo 
"1) ".var_export(substr("pear"02), true).PHP_EOL;
echo 
"2) ".var_export(substr(5432102), true).PHP_EOL;
echo 
"3) ".var_export(substr(new apple(), 02), true).PHP_EOL;
echo 
"4) ".var_export(substr(true01), true).PHP_EOL;
echo 
"5) ".var_export(substr(false01), true).PHP_EOL;
echo 
"6) ".var_export(substr(""01), true).PHP_EOL;
echo 
"7) ".var_export(substr(1.2e304), true).PHP_EOL;
?>

Output of the above example in PHP 7:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

Output of the above example in PHP 5:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

锟斤拷锟斤拷锟届常

锟斤拷锟斤拷时锟斤拷锟斤拷 FALSE锟斤拷

<?php
var_dump
(substr('a'2)); // bool(false)
?>

锟轿硷拷

  • strrchr() - 锟斤拷锟斤拷指锟斤拷锟街凤拷锟斤拷锟街凤拷锟斤拷锟叫碉拷锟斤拷锟揭伙拷纬锟斤拷锟�
  • substr_replace() - 锟芥换锟街凤拷锟斤拷锟斤拷锟接达拷
  • preg_match() - 执锟斤拷匹锟斤拷锟斤拷锟斤拷锟斤拷式
  • trim() - 去锟斤拷锟街凤拷锟斤拷锟斤拷尾锟斤拷锟侥空帮拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街凤拷锟斤拷
  • mb_substr() - 锟斤拷取锟斤拷锟斤拷锟街凤拷锟斤拷
  • wordwrap() - 锟斤拷锟斤拷址锟斤拷锟轿革拷锟斤拷锟斤拷锟斤拷锟斤拷执锟�
  • 锟街凤拷锟斤拷锟斤拷锟绞猴拷锟睫革拷