親,給個答案吧,該如何處理

來源:互聯網
上載者:User
親,給個答案吧
$out = <<


$title

END;
echo $out;
是什麼意思?

------解決方案--------------------
定義了一個字串 $out php heredoc
http://apps.hi.baidu.com/share/detail/15604411
------解決方案--------------------
Heredoc結構

第三種定義字串的方法是用heredoc句法結構:<<<。在該提示 符後面,要定義個標識符,然後是一個新行。接下來是字串 本身,最後要用前面定義的標識符作為結束標誌。

結束時所引用的標識符必須在一行的開始位置, 而且,標識符的命名也要像其它標籤一樣遵守PHP的規則:只能包含 字母、數字和底線,並且不能用數字和底線作為開頭。

Warning
要注意的是結束標識符這行除了 可能有一個分號(;)外,絕對不能包括 其它字元。這意味著標識符不能縮排,分號的前後也不能有任何空白或tabs。更重要的是結束標識符的前面必須是個被本地 作業系統認可的新列標籤,比如在UNIX和Mac OS X系統中是\n ,而結束標識符(可能有個分號)的後面也必須跟個 新列標籤。

如果不遵守該規則導致結束標籤不“乾淨”,PHP將認為它不是結束標識符而繼續尋找。如果在檔案結束前也沒有找到一個正確的結束標識符,PHP將會在最後一 行產生一個句法錯誤。

Heredocs結構不能用來初始化class,而從PHP 5.3以後,則該限制只能用在包含變數的情況下。

Example #1 非法的樣本
class foo {
public $bar = <<bar
EOT;
}
?>
Heredoc結構就象是沒有使用雙引號的雙引號字串, 這就是說在heredoc結構中引號不用被替換,但是上文中列出的字元 (\n等)也可使用。 變數將被替換,但在heredoc結構中字串表達複雜變數時,要格外小 心。

Example #2 Heredoc結構的字串樣本
$str = <<Example of string
spanning multiple lines
using heredoc syntax.
EOD;

/* 含有變數的更複雜樣本 */
class foo
{
var $foo;
var $bar;

function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}

$foo = new foo();
$name = 'MyName';

echo <<My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>
以上常式會輸出:

My name is "MyName". I am printing some Foo.
Now, I am printing some Bar2.
This should print a capital 'A': A
也可以把Heredoc結構用在函數參數中來傳輸資料:

Example #3 Heredoc結構在參數中的樣本
var_dump(array(<<foobar!
EOD
));
?>
在PHP 5.3.0以後,也可以用Heredoc結構來初始化靜態變數和類的屬性和常量:

Example #4 使用Heredoc結構來初始化靜態值
// 靜態變數
function foo()
{
static $bar = <<Nothing in here...
LABEL;
}

// 類的常量、屬性
class foo
{
const BAR = <<Constant example
FOOBAR;

public $baz = <<Property example
FOOBAR;
}
?>
在PHP 5.3.0中還在Heredoc結構中用雙引號來聲明標誌符:

Example #5 在heredoc結構中使用雙引號
echo <<<"FOOBAR"
Hello World!
FOOBAR;
?>
Note:

PHP4才引入了Heredoc結構。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.