(PHP 4, PHP 5, PHP 7)
substr — �����ַ������Ӵ�
$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", -3, 1); // ���� "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', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // 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", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), 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)
?>