Chapter 1. Strings
Contents:
IntroductionAccessing Substrings
Replacing Substrings
Processing a String One Character at a Time
Reversing a String by Word or Character
Expanding and Compressing Tabs
Controlling Case
Interpolating Functions and Expressions Within Strings
Trimming Blanks from a String
Parsing Comma-Separated Data
Parsing Fixed-Width Delimited Data
Taking Strings Apart
Wrapping Text at a Certain Line Length
Storing Binary Data in Strings
1.8. Interpolating Functions and Expressions Within Strings
1.8.1. Problem
You want to include the results of executing a function or expression within a string.1.8.2. Solution
Use the string concatenation operator (.) when the value you want to include can't be inside the string:print 'You have '.($_REQUEST['boys'] + $_REQUEST['girls']).' children.'; print "The word '$word' is ".strlen($word).' characters long.'; print 'You owe '.$amounts['payment'].' immediately'; print "My circle's diameter is ".$circle->getDiameter().' inches.';
1.8.3. Discussion
You can put variables, object properties, and array elements (if the subscript is unquoted) directly in double-quoted strings:Direct interpolation or using string concatenation also works with heredocs. Interpolating with string concatenation in heredocs can look a little strange because the heredoc delimiter and the string concatenation operator have to be on separate lines:print "I have $children children."; print "You owe $amounts[payment] immediately."; print "My circle's diameter is $circle->diameter inches.";
print <<< END
Right now, the time is
END
. strftime('%c') . <<< END
but tomorrow it will be
END
. strftime('%c',time() + 86400);
Also, if you're interpolating with heredocs, make sure to include appropriate spacing for the whole string to appear properly. In the previous example, "Right now the time" has to include a trailing space, and "but tomorrow it will be" has to include leading and trailing spaces.
Không có nhận xét nào:
Đăng nhận xét