ÔÚʵ¼ÊÏiÄ¿Ó¦ÓÃÖУ¬¾³£Óoµ½Ê¹ÓÃphp»ñÈ¡×Öu´®Ç°¼¸Î»ÓÃÀ´±È½Ï¡¢¸³ÖµµÈµÈ¡£½ñÌi¸ø´o¼ÒÖÏiʹÓÃphp substr »ñÈ¡×Öu´®Ç°¼¸Î»¡¢ºo¼¸Î»¡¢Ö¸¶¨Î»µÄÓè¡£
substr
(PHP 4, PHP 5)
substr ¡ª µ»Ø×Öu´®µÄ×Ó´®
˵Ã÷
string substr ( string $string , int $start [, int $length ] )
µ»Ø×Öu´® string ÓÉ start ºÍ length ²ÎÊýÖ¸¶¨µÄ×Ó×Ö*u´®¡£
²ÎÊý
string
ÊaÈe×Ö*u´®¡£
start
Èç¹u start ÊÇǸºÊý£¬µ»ØµÄ×Öu´®½«´Ó string µÄ start λÖÿªÊ¼£¬´Ó 0 ¿ªÊ¼¼ÆËa¡£ÀýÈ磬ÔÚ×Öu´® ¡°abcdef¡± ÖУ¬ÔÚλÖà 0 µÄ×ÖuÊÇ ¡°a¡±£¬Î»Öà 2 µÄ×Öu´®ÊÇ ¡°c¡± µÈµÈ¡£
Èç¹u start ÊǸºÊý£¬µ»ØµÄ×Öu´®½«´Ó string ½aβ´¦ÏoÇ°ÊýµÚ start ¸o×Ö*u¿ªÊ¼¡£
Èç¹u string µÄ³¤¶ÈСÓÚ»oµÈÓÚ start£¬½«*µ»Ø FALSE¡£
Example #1 ʹÓøºÊý start
<?php
$rest = substr(¡°abcdef¡±, -1); // *µ»Ø ¡°f¡±
$rest = substr(¡°abcdef¡±, -2); // *µ»Ø ¡°ef¡±
$rest = substr(¡°abcdef¡±, -3, 1); // *µ»Ø ¡°d¡±
?>
length
Èç¹uÌa¹(C)ÁËÕýÊýµÄ length£¬µ»ØµÄ×Öu´®½«´Ó start ´¦¿ªÊ¼×i¶a°uÀ¨ length ¸o×Ö*u£¨È¡¾oÓÚ string µÄ³¤¶È£(C)¡£
Èç¹uÌa¹(C)Á˸ºÊýµÄ length£¬ÄÇô string Ä(C)β´¦µÄÐi¶a×Öu½«»a±»Â(C)µo£¨Èo start ÊǸºÊýÔo´Ó×Öu´®Î²²¿ËaÆð£(C)¡£Èç¹u start ²»ÔÚÕa¶ÎÎı¾ÖУ¬ÄÇô½«µ»ØÒ»¸o¿Õ×Öu´®¡£
Èç¹uÌa¹(C)ÁËֵΪ 0£¬FALSE »o NULL µÄ length£¬ÄÇô½«µ»ØÒ»¸o¿Õ×Öu´®¡£
Èç¹uûÓÐÌa¹(C) length£¬µ»ØµÄ×Ó×Öu´®½«´Ó start λÖÿªÊ¼Ö±µ½×Ö*u´®½aβ¡£
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¡±
?>
*µ»ØÖµ
µ»ØÌaÈ¡µÄ×Ó×Öu´®£¬ »oÕßÔÚʧ°Üʱ*µ»Ø FALSE¡£
¸uÐÂÈÕÖ¾°ae±¾ËµÃ÷
5.2.2 ¨C 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() »u±¾Óè**
<?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
// *ÃÎÊ×Ö*u´®Öеĵ¥¸o×Ö*u
// Ò²¿ÉÒÔʹÓÃÖÐÀ¨ºÅ
$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;
?>
ÒÔÉÏÀý³Ì»aÊa³o£º
´iÎo/Òi³£
´iÎoʱ*µ»Ø FALSE¡£
<?php
var_dump(substr(¡®a', 1)); // bool(false)
?>
ÒÔÉÏÕaƪphp»ñÈ¡×Öu´®Ç°¼¸Î»µÄʵÀý(substrµ»Ø×Öu´®µÄ×Ó´®Óè)¾ÍÊÇС±a*ÖÏi¸ø´o¼ÒµÄÈ«²¿ÄÚÈÝÁË£¬Ï£ÍuÄܸø´o¼ÒÒ»¸o²Î¿¼£¬Ò²Ï£Íu´o¼Ò¶a¶aÖ§³Ö½Å±¾Ö®¼Ò¡£