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" �У���λ�� 0 ���ַ��� "a"��λ�� 2 ���ַ����� "c" �ȵȡ�

��� start �Ǹ��������ص��ַ������� string ��β����ǰ���� start ���ַ���ʼ��

��� string �ij����� 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 �ij��ȣ���

����ṩ�˸����� length����ô string ĩβ���� length ���ַ����ᱻʡ�ԣ��� 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 ��ͬʱ������һ�����ַ�������֮ǰ�İ汾�У�������������� 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)
?>

�μ�