PHP yeni hat sorunu

3 Cevap php

basit bir sorun bana manidar ...

i bir işlevi vardır:

function spitHTML() {
    $html = '
    <div>This is my title</div>\n
    <div>This is a second div</div>';

    return $html
}

echo $spitHTML();

Neden bu aslında \ n en saçıyor?

3 Cevap

Çift tırnak değişikliği ve beklediğiniz gibi davranacaktır - Eğer tek tırnak kullanarak Çünkü.

Single quoted strings için belgelerine bakın.

Tek tırnak dizeleri kullanılan tersbölüler (tek tırnak kendisi dışında) kaçış karakter olarak çalışmaz.

$string1 = "\n"; // this is a newline
$string2 = '\n'; // this is a backslash followed by the letter n
$string3 = '\''; // this is a single quote
$string3 = "\""; // this is a double quote

Peki neden hiç tek tırnak kullanılır? Cevap basit: Eğer doğal olarak çift tırnak bir sürü tek tırnak dize sarma, çok daha okunabilir orada olduğu, örneğin, HTML kodunu yazdırmak istiyorsanız:

$html = '<div class="heading" style="align: center" id="content">';

Bu çok daha iyidir

$html = "<div class=\"heading\" style=\"align: center\" id=\"content\">";

PHP değişkenleri ve / veya kaçan karakterler için tek tırnak dizeleri ayrıştırmak zorunda olmadığından Bunun yanı sıra, biraz daha hızlı bu dizeleri işler.

Şahsen ben her zaman tek tırnak ve çift tırnak gelen satır karakterleri eklemek. Bu daha sonra benziyor

$text = 'This is a standard text with non-processed $vars followed by a newline' . "\n";

Ama bu zevk meselesi: o)

:) "Change '(Bundan sonra, tüm özel karakter ve değişken fark edilebilir)

$html = "
<div>This is my title</div>\n
<div>This is a second div</div>";