[PHP] Pojedyncze cudzysłowy + przejście do nowej linii


(Spam) #1

Jak zamienić poniższy kod:

echo "raz\n\dwa\ntrzy";

Chodzi mi o zamianę cudzysłowów podwójnych na pojedyncze tak, aby tekst został wydrukowany w trzech liniach.


(Balon) #2

Wszystko co zostało ujęte w apostrofy jest traktowane jako string, co za tym idzie znaki specjalne nie są interpretowane.

Nie ma cudzysłowu, nie ma znaku nowej linii.


(Spam) #3
echo 'raz';

echo "\n";

echo 'dwa';

Ale zapis głupi jak but.


(Balon) #4

no, ale jaki problem:

echo "raz\ndwa";

Ja oczywiście standardowo korzystam z apostrofów. Jeśli potrzebuję znak nowej linii czy inne tam bajery, to korzystam z cudzysłowów.


(Slawcio) #5

ja proponuje nie utrudniac sobie rzycia trzema pleceniami dla interpretatora i dac echo "raz

dwa

trzy"


(Spam) #6

Rzycia to ja sobie nie utrudniam, to raz.

Dwa, chciałem wypluć kod do kilku linii, a nie bawić się prezentacją strony na ekranie.


(Slawcio) #7

tak i nei chlopak sie zle nauczy :wink:


(Balon) #8

To Ty chyba jesteś źle nauczony.

echo "raz
dwa
trzy"

Chyba

echo 'raz
dwa
trzy';

Po pierwsze znacznik

Po drugie użycie apostrofów jest wydajniejsze dla zwykłego tekstu, bez zmiennych. Dlaczego? Zawartość ciągu cudzysłowu jest analizowana przez php w poszukiwaniu zmiennych.

Wydajność jest niezauważalnie większa, jednak to coś zawsze jest.

Sam najpierw sie naucz, potem ucz innych.


(Spam) #9

(Balon) #10

Nie ma takiej opcji :wink: No chyba że chce Ci sie bawić tak.

<?php

$arr = array();

$arr[] = 'raz';

$arr[] = 'dwa';

$arr[] = 'trzy';

$arr[] = 'cztery';


echo implode("\n", $arr);

Fakt :wink:


(Spam) #11

Ujdzie w tłoku, dzięki :mrgreen: