strange one [message #181927] |
Tue, 25 June 2013 01:02 |
Shelly[1]
Messages: 16 Registered: March 2012
Karma: 0
|
Junior Member |
|
|
My daughter also does php. She has to fix up some awful code. She came
across something that I have never seen before. It goes something like
this:
$a .= <<<BLAH;
What is that <<< ?
--
Shelly
|
|
|
|
Re: strange one [message #181929 is a reply to message #181927] |
Tue, 25 June 2013 01:14 |
Lew Pitcher
Messages: 60 Registered: April 2013
Karma: 0
|
Member |
|
|
On Monday 24 June 2013 21:02, in comp.lang.php, sheldonlg(at)thevillages(dot)net
wrote:
> My daughter also does php. She has to fix up some awful code. She came
> across something that I have never seen before. It goes something like
> this:
>
> $a .= <<<BLAH;
>
> What is that <<< ?
It is the start of a "heredoc"
http://www.php.net/manual/en/language.types.string.php#language.types.strin g.syntax.heredoc
Specifically, the word immediately adjacent to the right of the <<< (in your
case, the word BLAH) is taken as a sentinal, and all lines between the line
containing the start of the heredoc (the <<<BLAH line) and the first line
that contains the sentinal word are treated like a single string.
Thus
<<<BLAH
this is a test
one two three
four five
six
BLAH;
is treated as a single string consisting of
"this is a test\none two three\nfourfive\nsix\n"
--
Lew Pitcher
"In Skills, We Trust"
|
|
|
Re: strange one [message #181930 is a reply to message #181929] |
Tue, 25 June 2013 01:18 |
Shelly[1]
Messages: 16 Registered: March 2012
Karma: 0
|
Junior Member |
|
|
Thank you Lew and Scott.
On 24/06/2013 21:14, Lew Pitcher wrote:
> On Monday 24 June 2013 21:02, in comp.lang.php, sheldonlg(at)thevillages(dot)net
> wrote:
>
>> My daughter also does php. She has to fix up some awful code. She came
>> across something that I have never seen before. It goes something like
>> this:
>>
>> $a .= <<<BLAH;
>>
>> What is that <<< ?
>
>
> It is the start of a "heredoc"
> http://www.php.net/manual/en/language.types.string.php#language.types.strin g.syntax.heredoc
>
> Specifically, the word immediately adjacent to the right of the <<< (in your
> case, the word BLAH) is taken as a sentinal, and all lines between the line
> containing the start of the heredoc (the <<<BLAH line) and the first line
> that contains the sentinal word are treated like a single string.
>
> Thus
> <<<BLAH
> this is a test
> one two three
> four five
> six
> BLAH;
>
> is treated as a single string consisting of
> "this is a test\none two three\nfourfive\nsix\n"
>
--
Shelly
|
|
|
|