PHP中的string類型使用說明
更新時(shí)間:2010年07月27日 19:24:33 作者:
string就是一串連續(xù)的字符。
注意:PHP沒有對(duì)string的長(zhǎng)度做限制。唯一限制的就是PHP在計(jì)算機(jī)中的可用內(nèi)存(php.ini文件中的memory_limit變量的值)
限定字符串范圍的方法有4中:
1、單引號(hào);
2、雙引號(hào);
3、原型文檔語(yǔ)法;
4、nowdoc syntax(PHP5.3.0開始)
1、如果字符串使用單引號(hào)“‘”包裹,字符串中如果出現(xiàn)單引號(hào)“,”和反斜杠“\”符號(hào),需要進(jìn)行轉(zhuǎn)義。
// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';
// Outputs: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';
// Outputs: You deleted C:\*.*?
echo 'You deleted C:\*.*?';
(有待驗(yàn)證 單引號(hào)包裹的字符串反斜杠是否需要轉(zhuǎn)義)
2、如果字符串被雙引號(hào)包裹 一下字符都會(huì)被轉(zhuǎn)義:
Escaped characters Sequence Meaning
\n linefeed (LF or 0x0A (10) in ASCII)
\r carriage return (CR or 0x0D (13) in ASCII)
\t horizontal tab (HT or 0x09 (9) in ASCII)
\v vertical tab (VT or 0x0B (11) in ASCII) (since PHP 5.2.5)
\f form feed (FF or 0x0C (12) in ASCII) (since PHP 5.2.5)
\\ backslash
\$ dollar sign
\" double-quote
\[0-7]{1,3} the sequence of characters matching the regular expression is a character in octal notation
\x[0-9A-Fa-f]{1,2} the sequence of characters matching the regular expression is a character in hexadecimal notation
如果字符串 使用雙引號(hào)“"”或者原形文檔語(yǔ)法的形式包裹的話,在字符串中的變量會(huì)被解析。
1、簡(jiǎn)單語(yǔ)法:
因?yàn)榻馕銎鲿?huì)貪婪匹配$后面的字符,所以,為了不出什么以外,應(yīng)該使用"{"和"}"來表名變量的邊界。
<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // works; "'" is an invalid character for variable names
echo "He drank some $beers"; // won't work; 's' is a valid character for variable names but the variable is "$beer"
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>
同樣,數(shù)組的下標(biāo)和對(duì)象的屬性也會(huì)不解析。
<?php
// These examples are specific to using arrays inside of strings.
// When outside of a string, always quote array string keys and do not use
// {braces}.
// Show all errors
error_reporting(E_ALL);
$fruits = array('strawberry' => 'red', 'banana' => 'yellow');
// Works, but note that this works differently outside a string
echo "A banana is $fruits[banana].";
// Works
echo "A banana is {$fruits['banana']}.";
// Works, but PHP looks for a constant named banana first, as described below.
echo "A banana is {$fruits[banana]}.";
// Won't work, use braces. This results in a parse error.
echo "A banana is $fruits['banana'].";
// Works
echo "A banana is " . $fruits['banana'] . ".";
// Works
echo "This square is $square->width meters broad.";
// Won't work. For a solution, see the complex syntax.
echo "This square is $square->width00 centimeters broad.";
?>
2、復(fù)合語(yǔ)法:
<?php
// Show all errors
error_reporting(E_ALL);
$great = 'fantastic';
// Won't work, outputs: This is { fantastic}
echo "This is { $great}";
// Works, outputs: This is fantastic
echo "This is {$great}";
echo "This is ${great}";
// Works
echo "This square is {$square->width}00 centimeters broad.";
// Works
echo "This works: {$arr[4][3]}";
// This is wrong for the same reason as $foo[bar] is wrong outside a string.
// In other words, it will still work, but only because PHP first looks for a
// constant named foo; an error of level E_NOTICE (undefined constant) will be
// thrown.
echo "This is wrong: {$arr[foo][3]}";
// Works. When using multi-dimensional arrays, always use braces around arrays
// when inside of strings
echo "This works: {$arr['foo'][3]}";
// Works.
echo "This works: " . $arr['foo'][3];
echo "This works too: {$obj->values[3]->name}";
echo "This is the value of the var named $name: {${$name}}";
echo "This is the value of the var named by the return value of getName(): {${getName()}}";
echo "This is the value of the var named by the return value of \$object->getName(): {${$object->getName()}}";
訪問,修改字符串中的指定字符:
字符串可以使用"[]"和"{}"進(jìn)行訪問。(注意:php5.3.0以后不建議使用“{}”訪問)
注意:使用其他類型(非integer)類型訪問字符串指定的字符,都會(huì)返回NULL
警告:
Writing to an out of range offset pads the string with spaces. Non-integer types are converted to integer. Illegal offset type emits E_NOTICE. Negative offset emits E_NOTICE in write but reads empty string. Only the first character of an assigned string is used. Assigning empty string assigns NUL byte。
限定字符串范圍的方法有4中:
1、單引號(hào);
2、雙引號(hào);
3、原型文檔語(yǔ)法;
4、nowdoc syntax(PHP5.3.0開始)
1、如果字符串使用單引號(hào)“‘”包裹,字符串中如果出現(xiàn)單引號(hào)“,”和反斜杠“\”符號(hào),需要進(jìn)行轉(zhuǎn)義。
復(fù)制代碼 代碼如下:
// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';
// Outputs: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';
// Outputs: You deleted C:\*.*?
echo 'You deleted C:\*.*?';
(有待驗(yàn)證 單引號(hào)包裹的字符串反斜杠是否需要轉(zhuǎn)義)
2、如果字符串被雙引號(hào)包裹 一下字符都會(huì)被轉(zhuǎn)義:
Escaped characters Sequence Meaning
\n linefeed (LF or 0x0A (10) in ASCII)
\r carriage return (CR or 0x0D (13) in ASCII)
\t horizontal tab (HT or 0x09 (9) in ASCII)
\v vertical tab (VT or 0x0B (11) in ASCII) (since PHP 5.2.5)
\f form feed (FF or 0x0C (12) in ASCII) (since PHP 5.2.5)
\\ backslash
\$ dollar sign
\" double-quote
\[0-7]{1,3} the sequence of characters matching the regular expression is a character in octal notation
\x[0-9A-Fa-f]{1,2} the sequence of characters matching the regular expression is a character in hexadecimal notation
如果字符串 使用雙引號(hào)“"”或者原形文檔語(yǔ)法的形式包裹的話,在字符串中的變量會(huì)被解析。
1、簡(jiǎn)單語(yǔ)法:
因?yàn)榻馕銎鲿?huì)貪婪匹配$后面的字符,所以,為了不出什么以外,應(yīng)該使用"{"和"}"來表名變量的邊界。
復(fù)制代碼 代碼如下:
<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // works; "'" is an invalid character for variable names
echo "He drank some $beers"; // won't work; 's' is a valid character for variable names but the variable is "$beer"
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>
同樣,數(shù)組的下標(biāo)和對(duì)象的屬性也會(huì)不解析。
復(fù)制代碼 代碼如下:
<?php
// These examples are specific to using arrays inside of strings.
// When outside of a string, always quote array string keys and do not use
// {braces}.
// Show all errors
error_reporting(E_ALL);
$fruits = array('strawberry' => 'red', 'banana' => 'yellow');
// Works, but note that this works differently outside a string
echo "A banana is $fruits[banana].";
// Works
echo "A banana is {$fruits['banana']}.";
// Works, but PHP looks for a constant named banana first, as described below.
echo "A banana is {$fruits[banana]}.";
// Won't work, use braces. This results in a parse error.
echo "A banana is $fruits['banana'].";
// Works
echo "A banana is " . $fruits['banana'] . ".";
// Works
echo "This square is $square->width meters broad.";
// Won't work. For a solution, see the complex syntax.
echo "This square is $square->width00 centimeters broad.";
?>
2、復(fù)合語(yǔ)法:
復(fù)制代碼 代碼如下:
<?php
// Show all errors
error_reporting(E_ALL);
$great = 'fantastic';
// Won't work, outputs: This is { fantastic}
echo "This is { $great}";
// Works, outputs: This is fantastic
echo "This is {$great}";
echo "This is ${great}";
// Works
echo "This square is {$square->width}00 centimeters broad.";
// Works
echo "This works: {$arr[4][3]}";
// This is wrong for the same reason as $foo[bar] is wrong outside a string.
// In other words, it will still work, but only because PHP first looks for a
// constant named foo; an error of level E_NOTICE (undefined constant) will be
// thrown.
echo "This is wrong: {$arr[foo][3]}";
// Works. When using multi-dimensional arrays, always use braces around arrays
// when inside of strings
echo "This works: {$arr['foo'][3]}";
// Works.
echo "This works: " . $arr['foo'][3];
echo "This works too: {$obj->values[3]->name}";
echo "This is the value of the var named $name: {${$name}}";
echo "This is the value of the var named by the return value of getName(): {${getName()}}";
echo "This is the value of the var named by the return value of \$object->getName(): {${$object->getName()}}";
訪問,修改字符串中的指定字符:
字符串可以使用"[]"和"{}"進(jìn)行訪問。(注意:php5.3.0以后不建議使用“{}”訪問)
注意:使用其他類型(非integer)類型訪問字符串指定的字符,都會(huì)返回NULL
警告:
Writing to an out of range offset pads the string with spaces. Non-integer types are converted to integer. Illegal offset type emits E_NOTICE. Negative offset emits E_NOTICE in write but reads empty string. Only the first character of an assigned string is used. Assigning empty string assigns NUL byte。
相關(guān)文章
php封裝的數(shù)據(jù)庫(kù)函數(shù)與用法示例【參考thinkPHP】
這篇文章主要介紹了php封裝的數(shù)據(jù)庫(kù)函數(shù)與用法,基于thinkPHP中數(shù)據(jù)庫(kù)操作相關(guān)代碼整理簡(jiǎn)化而來,包括針對(duì)數(shù)據(jù)庫(kù)的設(shè)置、連接、查詢及日志操作等功能,簡(jiǎn)單實(shí)用,需要的朋友可以參考下2016-11-11強(qiáng)烈聲明: 不要使用(include/require)_once
本篇文章是對(duì)不要使用(include/require)_once的原因進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP簡(jiǎn)單實(shí)現(xiàn)“相關(guān)文章推薦”功能的方法
這篇文章主要介紹了PHP簡(jiǎn)單實(shí)現(xiàn)“相關(guān)文章推薦”功能的方法,方法簡(jiǎn)單功能實(shí)用,需要的朋友可以參考下2014-07-07PHP應(yīng)用跨時(shí)區(qū)功能的實(shí)現(xiàn)方法
今天小編就為大家分享一篇關(guān)于PHP應(yīng)用跨時(shí)區(qū)功能的實(shí)現(xiàn)方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03