Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP Programming With MySQL Second Edition.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
43.07 Mб
Скачать

CHAPTER 3

Manipulating Strings

126

When you want to include single quotes within a literal string, the

easiest method is to surround the literal string with double quotation

marks. Likewise, to include double quotes within a literal string, you

can surround the string with single quotation marks. For example, the

following statement assigns a text string surrounded by double quota-

tion marks to the $LatinQuote variable. Figure 3-2 shows the output

of the echo statement.

$LatinQuote = '<p>"Et tu, Brute!"</p>';

echo $LatinQuote;

Figure 3-2

Displaying a string that contains double quotation marks

Later in this chapter, you will learn other methods to include quota-

tion marks and other special characters in text strings.

Working with String Operators

Up to this point, you have displayed values from multiple literal

strings and variables by passing them to the echo and print state-

ments as multiple arguments separated by commas. For example, the

following code passes two literal strings and a variable to the echo

statement:

$Speaker = "Julius Caesar";

echo '<p>"Et tu, Brute!", exclaimed ', $Speaker, ".</p>";

In php, you can also use two operators to combine strings. The first

of these operators is the concatenation operator (.). The following

code uses the concatenation operator to combine several string vari-

ables and literal strings, and assigns the new value to another variable:

$City = "Paris";

$Country = "France";

$Destination = "<p>" . $City . " is in "

. $Country . ".</p>";

echo $Destination;


Constructing Text Strings

The combined value of the $City and $Country variables and the

literal strings that are assigned to the $Destination variable is

<p>Paris is in France.</p>.

You can also combine strings using the concatenation assignment

operator (.=). The following code combines two text strings, but

without using the $City or $Country variables:

$Destination = "<p>Paris";

$Destination .= " is in France.</p>";

echo $Destination;

127

Again, the value of the $Destination variable is "<p>Paris is in

France.</p>".

To build a string using the concatenation assignment operator:

1.

2.

Create a new document in your text editor.

Type the <!DOCTYPE> declaration, <html> element, document

head, and <body> element. Use the strict DTD and “Musical

Scale” as the content of the <title> element.

Add the following script section to the document body:

<?php

?>

3.

4.

Insert the following array in the script section:

$MusicalScale = array("do", "re", "mi", "fa", "so",

"la", "ti");

5.

Build an output string using a foreach loop with the

$MusicalNotes array, as follows:

$OutputString="The notes of the musical scale are: ";

foreach ($MusicalScale as $CurrentNote)

$OutputString .= " " . $CurrentNote;

6.

Add the following statements to display the results in your

browser window.

echo "<p>$OutputString</p>";

7.

Save the file as MusicalScale.php, upload it to the Chap-

ter folder for Chapter 3, and then open the file in your Web

browser by entering the following URL:

http://<yourserver>/PHP_Projects/Chapter.03/Chapter/

MusicalScale.php. Figure 3-3 shows the output.


CHAPTER 3

Manipulating Strings

128

Figure 3-3

Output of MusicalScale.php

8.

Close your Web browser window.

Adding Escape Characters and Sequences

You need to take extra care when using single quotation marks with

possessives and contractions in strings surrounded by single quota-

tion marks because the PHP scripting engine always looks for the first

closing single quotation mark to match an opening single quotation

mark. For example, consider the following statement:

echo '<p>This code's not going to work.</p>';

This statement displays incorrectly because the PHP scripting engine

assumes that the literal string ends with the apostrophe following “code.”

To get around this problem, you should include an escape character

before the apostrophe in “code’s”. An escape character tells the compiler

or interpreter that the character that follows it has a special purpose.

In PHP, the escape character is the backslash (\). Placing a backslash in

front of an apostrophe tells the PHP scripting engine to treat the apos-

trophe as a regular keyboard character, such as “a,” “b,” “1,” or “2,” and not

as part of a single quotation mark pair that encloses a text string. The

backslash in the following statement tells the PHP scripting engine to

display the apostrophe following the word “code” as an apostrophe:

echo '<p>This code\'s going to work.</p>';

There’s no need for a backslash before an apostrophe if you surround

the text string with double quotation marks, as follows:

echo "<p>This code's going to work.</p>";

Although the apostrophe in the preceding statement displays cor-

rectly, other characters require an escape character within a string

surrounded by double quotation marks. The escape character

combined with one or more other characters is called an escape

sequence. The backslash followed by an apostrophe (\') is an exam-

ple of an escape sequence. Most escape sequences carry out special

functions; for example, the escape sequence \t inserts a tab into a

string. Table 3-1 describes the escape sequences that can be added to

a double-quoted string in PHP.

Constructing Text Strings

Escape

Sequence

\\

\$

\r

\f

\"

\t

\v

\n

\xh

\o

Within a

literal string

surrounded

by double

quotation

marks, the backslash will

be displayed if you place

it before any character

other than those listed in

Table 3-1.

Description

Inserts a backslash

Inserts a dollar sign

Inserts a carriage return

Inserts a form feed

Inserts a double quotation mark

Inserts a horizontal tab

Inserts a vertical tab

Inserts a new line

Inserts a character whose hexadecimal value is h, where h is

one or two hexadecimal digits (0-9, A-F), case insensitive

Inserts a character whose octal value is o, where o is one,

two, or three octal digits (0-7)

PHP escape sequences within double quotation marks

129

Table 3-1

Notice that the backslash is one of the characters inserted into a

string by an escape sequence. Because the escape character itself

is a backslash, you must use the escape sequence \\ to include a

backslash as a character in a string. For example, to include the path

“C:\Course Technology\1687-5\” in a string, you must include a

backslash escape character before every literal backslash you want

to appear in the string, making each single backslash into a pair of

backslashes:

echo "<p>My PHP files are located in

C:\\Course Technology\\1687-5\\.</p>";

As a good

programming

practice, you

should include

an \n escape

sequence at the end of

an echo statement out-

put string as needed to

properly format the

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]