我将深入讨论的第一种变量类型是字符串。字符串只是一块用引号括起来的字符:字母、数字、空格、标点符号,等等。下面列出的全都是字符串:
‘Tobias’
“In watermelon sugar”
‘100’
‘August 2, 2011’
为了建立一个字符串变量,可以给一个有效的变量名赋予一个字符串值:
$first_name = 'Tobias';
$today = 'August 2, 2011';
在创建字符串时,可以使用单引号或双引号封装字符,就像在打印文本时所做的那样。此外,必须在字符的开头和末尾使用相同类型的引号。如果在字符串中间出现相同的引号,就必须对它进行转义:
$var = "Define \"platitude\", please.";
另一种方式是使用单引号:
$var = 'Define "platitude", please.';
为了打印字符串的值,可以使用echo
或print
:
echo or print:
echo $first_name;
为了在某种环境内打印出字符串的值,可以使用双引号:
echo "Hello, $first_name";
你已经使用了一次字符串——在上一节中使用预定义的变量时。在下一个示例中,将创建和使用新的字符串。
使用字符串
1. 在文本编辑器或IDE中创建一个新的PHP文档,命名为Strings.php
。以HTML和PHP开始标签开头(参见脚本1-6)。
脚本1-6 在这个介绍性的脚本中创建字符串变量并把它们的值发送给Web浏览器
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>Strings</title> 6 </head> 7 <body> 8 <?php # Script 1.6 - strings.php 9 10 // Create the variables: 11 $first_name = 'Haruki'; 12 $last_name = 'Murakami'; 13 $book = 'Kafka on the Shore'; 14 15 // Print the values: 16 echo "<p>The book <em>$book</em> was written by $first_name $last_name.</p>"; 17 18 ?> 19 </body> 20 </html>
2. 在PHP标签内,创建3个变量。
$first_name = 'Haruki';
$last_name = 'Murakami';
$book = 'Kafka on the Shore';
这个基本的示例创建了$first_name
、$last_name
和$book
这3个变量,随后将会在一条消息中打印出它们。
3. 添加echo
语句。
echo "<p>The book <em>$book</em> was written by $first_name $last_name.</p>";
这个脚本所做的全部工作是基于已建立的3个变量打印出一份作者身份声明。其中插入了很少的HTML格式化效果(强调书名的斜体),使之更吸引人。记住在这里为要打印的变量值相应地使用双引号(在本章末尾将更详细地讨论双引号的重要性)。
4. 完成HTML和PHP代码。
?>
</body>
</html>
5. 将该文件另存为strings.php
,存放在Web目录中,并在Web浏览器中测试它(参见图1-13)。
图1-13 得到的Web页面基于打印出的3个变量的值
6. 如果需要,可更改3个变量的值,保存文件并再次运行脚本(参见图1-14)。
图1-14 通过改变脚本中的变量来改变脚本的输出
提示
如果把另一个值赋予现有的变量(比如:
$book
),新的值就会重写旧的值。例如:$book = 'High Fidelity'; $book = 'The Corrections'; /* $book now has a value of 'The Corrections'. */
PHP没有对一个字符串的可能取值设置上限。理论上讲,它可能会受到服务器资源的限制,但是,不一定会碰到这样的问题。