ugrás a tartalomhoz

Veszo elvalasztas PHP kodban

zoliky · 2007. Okt. 17. (Sze), 17.40
Itt van a kovetkezo kod:
  1. <?php  
  2. function template_main_above()  
  3. {  
  4.    global $context$settings$options$scripturl$txt$modSettings;  
  5.      
  6.    // Show right to left and the character set for ease of translating.  
  7.    echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  8. <html xmlns="http://www.w3.org/1999/xhtml"', $context['right_to_left'] ? ' dir="rtl"' : '', '><head>  
  9.    <meta http-equiv="Content-Type" content="text/html; charset=', $context['character_set'], '" />  
  10.    <meta name="description" content="', $context['page_title'], '" />', empty($context['robot_no_index']) ? '' : '  
  11.    <meta name="robots" content="noindex" />', '  
  12.    <meta name="keywords" content="programare,software,dezvoltare,web,forum,baze de date,incepatori,multimedia,open source,html,css,javascript,php,perl,asp,java,c,python,ruby" />  
  13.    <script type="text/javascript" src="', $settings['default_theme_url'], '/script.js?fin11"></script>  
  14.    <script type="text/javascript" src="', $settings['default_theme_url'], '/bannerfade.js"></script>  
  15.    <script type="text/javascript"><!-- // --><![CDATA[  
  16.       var smf_theme_url = "', $settings['theme_url'], '";  
  17.       var smf_images_url = "', $settings['images_url'], '";  
  18.       var smf_scripturl = "', $scripturl, '";  
  19.       var smf_iso_case_folding = ', $context['server']['iso_case_folding'] ? 'true' : 'false', ';  
  20.       var smf_charset = "', $context['character_set'], '";  
  21.    // ]]></script>  
  22.    <title>', $context['page_title'], '</title>';  
  23. ?>  
Meg tudna mondani valaki miert van veszovel elvalasztva a HTML kod a valtozoktol ? En ugy tudtam, hogy pontot (. vagy concatenatet) kell hasznalni.

Koszi
 
1

echo

csla · 2007. Okt. 17. (Sze), 18.11
Az echo-nak meg lehet adni több paramétert, vesszővel elválasztva.


http://hu2.php.net/manual/hu/function.echo.php
2

koszi!

zoliky · 2007. Okt. 17. (Sze), 18.32
nem ugyanaz a lenyege mint a pontnak ?
3

elvileg igen

Szekeres Gergő · 2007. Okt. 17. (Sze), 19.34
ponttal összefűzöl két stringet, itt pedig kiiratsz egy-egy sztringet egymás után. Lényegében ugyan az.

Kiváncsiságból csinátam egy fapados tesztet, hátha az egyik gyorsabb, egy for ciklusba kiirattam egy stringet így is és a "pontos" módszerrel is (5-5 mérést csináltam):

paraméterként
0.013778209686279
0.013967037200928
0.019671201705933
0.020852088928223
0.022500991821289

összefűzve
0.016287088394165
0.016954183578491
0.019642114639282
0.021274089813232
0.022562980651855

magyarul használd azt ami jólesik.. :)
4

Eredmény lehet ugyan az, de a lényegük más

csla · 2007. Okt. 17. (Sze), 19.42
A . egy operátor, ami összefűzi a két oldalán álló sztringeket.
Az echo egy nyelvi konstrukció, melynek megadhatsz (vesszővel elválasztva) több paramétert, melyeket az adott sorrendben a kimenetre küld. Itt a vessző tehát nem összefűzésre, hanem egy felsorolás elemeinek elválasztására szolgál.

Itt az echo az 'éliástóbiás' sztringet küldi a kimenetre:
  1. echo 'éliás'.'tóbiás';   
Itt viszont először az 'éliás'-t, majd a 'tóbiást':
  1. echo 'éliás','tóbiás';   
Nyilván a kimeneten végeredményben az "éliástóbiás" lesz látható.

---
Látom, jó sokáig szerkesztettem, közben más is megválaszolta. Bocs, csak telefonom volt közben... :)
5

Végrehajtás...

janoszen · 2007. Okt. 17. (Sze), 19.53
A lényeg a végrehajtás sorrendjében van. A ponttal való elválasztást bármely helyzetben használhatod.

A példában ha ponttal lenne elválasztva, akkor előbb összefűzné a stringeket, majd kiechozná, vesszővel elválasztva minden stringet egyenként echozik ki.

Gyakorlatban semmi jelentőssége nincs.
6

koszi

zoliky · 2007. Okt. 19. (P), 14.10
ok koszi
7

pont és vessző operátor

Balogh Tibor · 2007. Okt. 20. (Szo), 13.38
Természetesen van különbség a két művelet között. A pont a sztringek összefűzése. A vessző az operandusok felsorolása.

A vessző operátor szerepel például a függvények paramétereinek megadásakor. Az echo esetén a különbség:
  1. //Vessző operátor  
  2. echo $a$b$c;  
  3. //Pepitában:  
  4. echo $a;  
  5. echo $b;  
  6. echo $c;  
  7.   
  8. //Pont operátor  
  9. echo $a.$b.$c;  
  10. //Pepitában  
  11. $d = $a.$b.$c;  
  12. echo $d;  
  13.   
  14. //Mivel az echo nem függvény, ezért elhagyhatod a zárójelezést.  
  15. //Talán így érthetőbb a különbség.  
  16. echo($a$b$c);  
  17. echo($a.$b.$c);  
A különbség az echo esetén az, hogy pont operátort használva előbb össze kell fűznie a php-nek a sztringeket, majd az új sztringet fogja kiírni. Míg vessző esetén csak kiírja egymásután.
A vessző operátor gyorsabb, mert nem kell összefűzni a paramétereket, és nem kell plusz memóriaterületet foglalni.