2010-04-23 20 views
5

Rozumiem, że echo jest nieco szybsze, a drukowanie może być używane jako funkcja, ale czytałem e-book na PHP, a autor używa print zamiast echa, aby wyprowadzić bardzo prosty tekst.Kiedy należy używać print zamiast echo w PHP?

Moje pytanie brzmi, kiedy byłoby właściwe dla mnie, aby używać druku zamiast echa?

+0

** Duplikaty: ** http://stackoverflow.com/questions/234241/how-are-ech-and-print-different-in-php http://stackoverflow.com/questions/1006586/is- tam-any-difference-between-print-and-echo-in-php-closed http://stackoverflow.com/questions/1504797/php-echo-print-printf –

+0

Właściwie to nie całkiem duplikaty. Pytają o różnice, kiedy pytam, kiedy należy rozróżniać. – Rob

+0

Rob, lepiej znajdź sobie inne pytanie, bardziej przydatne. –

Odpowiedz

6

Nigdy.

Zdecydowanie optymalizacja mikro.

Niektóre mogą znaleźć przydatne jako i wydrukowaćtrick. Ale brzydki jak diabli i nie polecany.

+0

Czy możesz opracować trochę proszę? – Rob

+0

Ah Widzę. Wygląda łatwiej niż isset, ale masz rację, jest brzydki jak diabli. – Rob

+0

Jednak oprócz brzydoty, dlaczego jej nie polecasz? Czy jest jakaś wada? – Rob

0

To naprawdę nie ma znaczenia. Ten rodzaj optymalizacji jest w większości przypadków mikrooptymalizacją, która przez większość czasu jest bezowocna.

+0

nie "większość czasu", ale na zawsze. –

+0

Cóż, być może są jakieś niejasne edgecases, w których to robi różnicę, ale "przez większość czasu" to nie robi. – Ikke

+0

Czy umiesz wymienić jeden? –

1

print i echo to polecenia służące do wyświetlania informacji na ekranie gości (na stronie internetowej). Oba wykonują tę samą pracę, więc zwykle sprowadza się to do osobistych preferencji, z których chcesz korzystać.

Istnieje niewielka różnica między wydrukiem a echo, która zależy od sposobu wykorzystania wyniku. Za pomocą metody drukowania można zwrócić wartość true/false. Może to być pomocne podczas wykonywania skryptu somesort. Echo nie zwraca wartości, ale zostało uznane za szybciej wykonywane polecenie. Wszystko to może wejść w dość skomplikowaną dyskusję, więc na razie możesz po prostu użyć tej, którą wolisz.

+0

Nie można * uzyskać wartości true/false z drukowaniem. Od instrukcji - "Zwraca 1, zawsze" (nie jest to nawet boolean). – binaryLV

0

IMHO Główna różnica polega na tym, że można wydrukować wiele wartości za pomocą echo bez łączenia ich, tj. echo $a, $b, $c;. O ile wiem, nie można tego zrobić z print. Jeśli chcesz użyć tej składni (i radziłbym jej używać, gdy tylko jest to możliwe, chociaż nie jestem w 100% pewny, że jest szybsza w aplikacjach w świecie rzeczywistym), lepiej byłoby zawsze użyć echo, jako do miksowania oba sposoby doprowadziłyby do niespójności.

Powiązane problemy