Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Odřádkování pomocí print("\n")

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Pavel Šůstek:24.8.2018 15:13

Ahojte !
V PHP mi nefunguje odřádkování pomocí příkazu

print("\n");

.Odřádkování pomocí

print("<br>");

funguje .Pro spouštění programu napsaného v PHP používám Bitnami WAMP Stack v kombinaci s prostředím NetBeans(PHP) .Může mi někdo říct ,kde je zakopaný pes ?

Zkusil jsem: Abych se přiznal nezkoušel jsem WampServer a Apache Friends XAMPP .Ale myslím si ,že Bitnami WAMP Stack by měl fungovat .

Chci docílit: Chci ,aby mi PHP odřádkovával nejen pomocí

print("<br>");

,ale také pomocí

print("\n");

.Předem děkuji za rady a doporučení .

 
Odpovědět
24.8.2018 15:13
Avatar
Odpovídá na Pavel Šůstek
Martin Štěpánek :24.8.2018 15:33

Používej fci echo(), ne print().

Nahoru Odpovědět
24.8.2018 15:33
Všechno jde naprogramovat, chce to jen čas a chuť...
Avatar
Odpovídá na Martin Štěpánek
Pavel Šůstek:24.8.2018 15:47

Díky za reakci .Mám to vyzkoušené ,echo() dává stejné výsledky jako print() ,takže nepomáhá .

 
Nahoru Odpovědět
24.8.2018 15:47
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:24.8.2018 15:58
echo "<br>1<br>2<br>3";
echo nl2br("\n1\n2\n3");
echo '<pre>'."\n1\n2\n3";
Editováno 24.8.2018 15:58
 
Nahoru Odpovědět
24.8.2018 15:58
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Pavel Šůstek
David Jančík:24.8.2018 16:04

Vzhledem k tomu, že výstup scriptu zobrazuješ v internetovém prohlížeči, který se jej snaží naparsovat jako HTML, tak se ti jeví, že \n nic nedělá. Pokud si ale otevřeš zdrojový kód stránky (Ctrl + U) uvidíš, že tam se \n aplikovalo a vytvořil se nový řádek. Taktéž ti bude \n fungovat v případě použití PHP v konzoli.
K nahrazení \n na <br /> můžeš použít fci nl2br
Doporučuju přečíst si Základní konstrukce jazyka PHP

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
24.8.2018 16:04
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Odpovídá na David Jančík
Pavel Šůstek:24.8.2018 16:39

Díky oběma(Peter Mlich ,David Jančík) za cenné informace .Základní konstrukce jazyka PHP jsem prostudoval po kap.6 ,ale informace tohoto typu jsou tam jen v náznacích .Po otevrení zdrojového kódu stránky (Ctrl + U) (což jsem neznal) se skutečně uplatní \n .Ještě by mne zajímalo ,jak mám chápat zmínku - Taktéž ti bude \n fungovat v případě použití PHP v konzoli .Potřebuji totiž ,aby odřádkování fungovalo fyzicky na monitoru .Předem děkuji za dodatečné vysvětlení .

 
Nahoru Odpovědět
24.8.2018 16:39
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Pavel Šůstek
David Jančík:24.8.2018 16:55

Určitě doporučuji dočíst celé a zkoušet si cvičení, jedině tak pochopíš, jak PHP funguje a dostatečně si ho osvojíš.
PHP se dá použít vícero způsoby. Ty jej používáš společně s Apache Web serverem pro generování výstupů v prohlížeči = výstup by měl být v HTML. Dá se ale použít i jako konzolový jazyk - jako například když píšeš nějaký základní program v Céčku - výstup se ti zobrazí v konzoli (příkazové řádce).

Nahoru Odpovědět
24.8.2018 16:55
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Odpovídá na David Jančík
Pavel Šůstek:24.8.2018 16:56

Jestli tomu dobře rozumím ,tak je třeba používat značky <pre> a </pre> .Jde to i bez nich ?

 
Nahoru Odpovědět
24.8.2018 16:56
Avatar
Odpovídá na David Jančík
Pavel Šůstek:24.8.2018 17:07

Asi se musím ještě hodně učit(ale mám přečteného Davida Sklare - PHP7) .Ale nevyzkoušené informace jsou víceméně k ničemu .Takže se pustím do vašeho kurzu ,jak mi doporučuješ ,snad získám nějaký drill .Díky za bezprostřední informace ,zdraví Pavel .

 
Nahoru Odpovědět
24.8.2018 17:07
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:26.8.2018 15:36

Vsechny moznosti jsem ti napsal. Zkusil jsi je?
Zalamovani radku jinak by mohlo jit zmenou css stylu nebo mozna fontu pisma.
Printr dela neco jineho nez echo.

Editováno 26.8.2018 15:37
 
Nahoru Odpovědět
26.8.2018 15:36
Avatar
Odpovídá na Peter Mlich
Pavel Šůstek:26.8.2018 21:24

Mám to vyzkoušené ,díky ,funguje to .Další uvedené možnosti (změna css stylu nebo fontu písma) si nechávám do budoucna ,až na to narazím .Nevidím rozdíl mezi print a echo ,nebo se mýlím ?

 
Nahoru Odpovědět
26.8.2018 21:24
Avatar
Odpovídá na Pavel Šůstek
Uživatel sítě :26.8.2018 22:04

print vrací pouze jeden parametr, kdežto echo všechny, které zadáš.

<?php
print 5;  //projde
echo 5;  //projde

print 5, 10;  //error
echo 5, 10;  //projde
Nahoru Odpovědět
26.8.2018 22:04
Chybami se člověk učí, běžte se učit jinam!
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:27.8.2018 9:19

http://php.net/print - only accepts a single argument | always returns 1 (major differences)
http://php.net/echo - Output one or more strings | No value is returned
Take predpokladam, ze to jinak zpracovava data, format.
Pouzivej, co ti vice vyhovuje. Print se mi libi, ze to stejne nazyvaji i v jinyxch jazycich, jako python, treba. Echo jsem videl pouzivat jen v dosu v batacich. Ale myslim si, ze by melo byt lepsi.

 
Nahoru Odpovědět
27.8.2018 9:19
Avatar
Lasvit
Člen
Avatar
Lasvit:27.8.2018 13:45

Pro odřádkování se v php používá PHP_EOL

 
Nahoru Odpovědět
27.8.2018 13:45
Avatar
Odpovídá na Uživatel sítě
Pavel Šůstek:27.8.2018 14:38

Prověřeno ,odpovídá ,ale mám 1 poznámku .Místo

print 5, 10;  //error

,lze použít

print("5, 10"); //projde

.Takže lze omezení obejít .

 
Nahoru Odpovědět
27.8.2018 14:38
Avatar
Odpovídá na Peter Mlich
Pavel Šůstek:27.8.2018 14:43

Díky za náhled a odkazy ,které to plně(základy jsi uvedl) postihují .

 
Nahoru Odpovědět
27.8.2018 14:43
Avatar
Odpovídá na Lasvit
Pavel Šůstek:27.8.2018 14:56

Díky funguje (stejně jako \n) .

 
Nahoru Odpovědět
27.8.2018 14:56
Avatar
David Hynek
Tvůrce
Avatar
Odpovídá na Pavel Šůstek
David Hynek:27.8.2018 15:42
print 5, 10; // dva parametry

print ("5, 10"); // jeden parametr
Nahoru Odpovědět
27.8.2018 15:42
Čím víc vím, tím víc věcí nevím.
Avatar
Odpovídá na Pavel Šůstek
Uživatel sítě :27.8.2018 15:52

Ano, protože v druhé možnosti jak uvádíš to je bráno jako jeden parametr, v tomto případě jeden řetězec.

<?php
$a = 'string 1';
$b = 'string 2';

print "$a, $b";  //Toto je jeden řetězec a proto projde
print $a, $b;  //Výpis dvou řetězců (V tomto případě parametrů pro konstrukci) a proto neprojde

btw.: v praxi si nepamatuji, že bych použil echo s více parametry, takže bych to moc nehrotil.. :)
btw2.: echo není funkce, takže můžeš používat jako echo $a; namísto echo($a); => to samé platí i u print a ostatních jazykových konstrukcí.

http://www.phpknowhow.com/…n-functions/

Nahoru Odpovědět
27.8.2018 15:52
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na David Hynek
Pavel Šůstek:27.8.2018 19:21

Jsem si toho vědom .Dobrá poznámka .

 
Nahoru Odpovědět
27.8.2018 19:21
Avatar
Pavel Šůstek:27.8.2018 19:53

Díky za zpřesnění ,a osvětlení pojmů "jazyková konstrukce" a "vestavěná funkce" .Také odkaz je užitečný .

 
Nahoru Odpovědět
27.8.2018 19:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 21 zpráv z 21.