PHP中的string类型使用说明_php教程-查字典教程网
PHP中的string类型使用说明
PHP中的string类型使用说明
发布时间:2016-12-29 来源:查字典编辑
摘要:注意:PHP没有对string的长度做限制。唯一限制的就是PHP在计算机中的可用内存(php.ini文件中的memory_limit变量的值...

注意:PHP没有对string的长度做限制。唯一限制的就是PHP在计算机中的可用内存(php.ini文件中的memory_limit变量的值)

限定字符串范围的方法有4中:

1、单引号;

2、双引号;

3、原型文档语法;

4、nowdoc syntax(PHP5.3.0开始)

1、如果字符串使用单引号“‘”包裹,字符串中如果出现单引号“,”和反斜杠“”符号,需要进行转义。

复制代码 代码如下:

// 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:*.*?';

(有待验证 单引号包裹的字符串反斜杠是否需要转义)

2、如果字符串被双引号包裹 一下字符都会被转义:

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

如果字符串 使用双引号“"”或者原形文档语法的形式包裹的话,在字符串中的变量会被解析。

1、简单语法:

因为解析器会贪婪匹配$后面的字符,所以,为了不出什么以外,应该使用"{"和"}"来表名变量的边界。

复制代码 代码如下:

<?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

?>

同样,数组的下标和对象的属性也会不解析。

复制代码 代码如下:

<?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、复合语法:

复制代码 代码如下:

<?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()}}";

访问,修改字符串中的指定字符:

字符串可以使用"[]"和"{}"进行访问。(注意:php5.3.0以后不建议使用“{}”访问)

注意:使用其他类型(非integer)类型访问字符串指定的字符,都会返回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。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新php教程学习
    热门php教程学习
    编程开发子分类