cvs: phpdoc-tw /language variables.xml
| From: | Wei-ching Kao | Date: | Wed, 25 Apr 2007 09:22:49 +0000 |
| Subject: | cvs: phpdoc-tw /language variables.xml | ||
| Groups: | php.doc.tw | ||
| Request: | Send a blank email to doc-tw+get-98@lists.php.net to get a copy of this message | ||
coldocean Wed Apr 25 09:22:49 2007 UTC
Modified files:
/phpdoc-tw/language variables.xml
Log:
Update
http://cvs.php.net/viewvc.cgi/phpdoc-tw/language/variables.xml?r1=1.4&r2=1.5&diff_format=u Index: phpdoc-tw/language/variables.xml diff -u phpdoc-tw/language/variables.xml:1.4 phpdoc-tw/language/variables.xml:1.5 --- phpdoc-tw/language/variables.xml:1.4 Wed Jul 2 16:08:40 2003 +++ phpdoc-tw/language/variables.xml Wed Apr 25 09:22:49 2007 @@ -1,37 +1,42 @@ <?xml version="1.0" encoding="big5"?> -<!-- $Revision: 1.4 $ --> -<!-- EN-Revision: 1.66 Maintainer: Kevin Status: ready --> +<!-- EN-Revision: 1.90 Maintainer: coldocean Status: ready --> <chapter id="language.variables"> - <title>¦UÃþÅܼÆ</title> - + <title>ÅܼÆ</title> + <sect1 id="language.variables.basics"> - <title>°ò¥»ª¾ÃÑ</title> + <title>°ò¦</title> <simpara> - ©Ò¦³ PHP ªºÅܼƳ£¬O¥H "$" ¬°¶}ºÝ¡A«á¥[ÅܼƦW©Ò²Õ¦¨ªº¡CÅܼƦWºÙ¬O¦³¤j¤p¼g¤§¤Àªº¡C + PHP ¤¤ªºÅܼƥΤ@Ó¿ú¦r¤¸¸¹«á±¸òÅܼƦW¨Óªí¥Ü¡CÅܼƦW¬O°Ï¤À¤j¤p¼gªº¡C </simpara> <para> - PHP ªºÅܼƦWºÙ©M¨ä¥L¼ÐÅÒ¦³µÛ¬Û¦Pªº³W«h¡C¤@Ó¦³®ÄªºÅܼƬO¥Ñ^¤å¦r¥À©Î©³½u¶}©l¡A¸òµÛ¬O¥ô·Nªøµuªº¦r¥À¡B¼Æ¦r©Î©³½u¡C«ö¥¿³W¹Bºâ¦¡¡A¥¦¥i¥Hªí¹F¬°¡G'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*' + ÅܼƦW»P PHP ¤¤¨ä¥¦ªº¼ÐÅÒ¤@¼Ë¿í´`¬Û¦Pªº³W«h¡C¤@Ó¦³®ÄªºÅܼƦW¥Ñ¦r¥À©ÎªÌ¤U¹º½u¶}ÀY¡A«á±¸ò¤W¥ô·N¼Æ¶qªº¦r¥À¡A¼Æ¦r¡A©ÎªÌ¤U¹º½u¡C«ö·Ó¥¿±`ªº¥¿«hªí¥Ü¦¡¡A¥¦±N³Qªíz¬°¡G'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'¡C </para> - + <note> <simpara> - ¦r¥À¬° a-z¡AA-Z¡A¦Ó ASCII ¦r²Å«h±q 127 ¦Ü 255¡q0x7f-0xff¡r¡C + ¦b¦¹©Ò»¡ªº¦r¥À¬O a-z¡AA-Z¡A¥H¤Î ASCII ¦r¤¸±q 127 ¨ì 255¡]0x7f-0xff¡^¡C </simpara> </note> - + + &tip.userlandnaming; + + <para> + ¦³ÃöÅܼƪº¨ç¦¡¸ê°T¨£<link linkend="ref.var">Åܼƨ禡</link>¡C + </para> <para> <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ <?php -$var = "Bob"; -$Var = "Joe"; -echo "$var, $Var"; // outputs "Bob, Joe" -$4site = 'not yet'; // invalid; starts with a number -$_4site = 'not yet'; // valid; starts with an underscore -$täte = 'mansikka'; // valid; 'ä' is (Extended) ASCII 228. +$var = 'Bob'; +$Var = 'Joe'; +echo "$var, $Var"; // ¿é¥X "Bob, Joe" + +$4site = 'not yet'; // «DªkÅܧó¦W¡F¥H¼Æ¦r¶}ÀY +$_4site = 'not yet'; // ¦XªkÅܼƦW¡F¥H¤U¹º½u¶}ÀY +$i¯¸ÂIis = 'mansikka'; // ¦XªkÅܼƦW¡F¥i¥H¥Î¤¤¤å ?> ]]> </programlisting> @@ -39,14 +44,14 @@ </para> <para> - PHP 3 ¤¤¡AÅܼÆÁ`¬O¥ÑÈ«ü¬£¡C¤]´N¬O»¡¡A·í±z±N¤@Ó¹Bºâ¦¡ªºÈ«ü¬£µ¹¤@ÓÅܼƮɡA¾ãÓì©l¹Bºâ¦¡ªºÈ±N·|½Æ»s¨ì¥ØªºÅܼơC¨Ò¦p¡A·í±N¤@ÓÅܼƪºÈ«ü¬£µ¹¥t¤@ÓÅܼƤ§«á¡A§ó§ï·í¤¤ªº¥ô¦ó¤@ÓÅܼƪºÈ¨Ã¤£·|¼vÅT¨ì¥t¤@ÓÅܼƪºÈ¡C·Qnª¾¹D§ó¦h³oÃþªº«ü¬£¡A½Ð°Ñ¾\<link linkend="language.expressions">¹Bºâ¦¡</link>³o¤@³¹¡C + PHP 3 ¤¤¡AÅܼÆÁ`¬O¶ÇÈ«ü¬£¡C¨º¤]´N¬O»¡¡A·í±N¤@Óªí¹F¦¡ªºÈ½á¤©¤@ÓÅܼƮɡA¾ãÓì©lªí¹F¦¡ªºÈ³Q«ü¬£¨ì¥Ø¼ÐÅܼơC³o·N¨ýµÛ¡A¨Ò¦p¡A·í¤@ÓÅܼƪºÈ½á¤©¥t¥~¤@ÓÅܼƮɡA§ïÅܨ䤤¤@ÓÅܼƪºÈ¡A±N¤£·|¼vÅT¨ì¥t¥~¤@ÓÅܼơC¦³Ãö³oºØÃþ«¬ªº«ü¬£¾Þ§@¡A½Ð°Ñ¾\<link linkend="language.expressions">ªí¹F¦¡</link>¤@³¹¡C </para> <para> - PHP 4 «h´£¨Ñ¤F¥t¤@ºØ«ü¬£ÅܼÆÈªº¤èªk¡G<link linkend="language.references">¶Ç§}«ü¬£</link>¡A§Y·sÅܼƥu¬O°Ñ·Óì¨ÓÅܼƤ¤ªºÈ¡A©Î»¡·sªºÅܼƦ¨¬°ì¨ÓÅܼƪº§O¦W¡C¦¹®É¡A§ó§ï¨âÓÅܼƤ¤¥ô¦ó¤@ÓªºÈ³£·|¦P®É§ó§ï¥t¤@ÓªºÈ¡C¥Ñ©ó¨S¦³°õ¦æ¹ê»Úªº½Æ»s¤u§@¡A«ü¬£ªº¾Þ§@¤]¦]¦¹§ó¥[§Ö±¶¡C¤£¹L¡A¥u¦³¦bºò±Kªº°j°é©Î«ü¬£¤j¶qªº<link linkend="language.types.array">°}¦C</link>©Î<link linkend="language.types.object">ª«¥ó</link>®É¤~·|¹îı³t«×ªº´£¤É¡C + PHP 4 ´£¨Ñ¤F¥t¥~¤@ºØ¤è¦¡µ¹Åܼƫü¬£¡G<link linkend="language.references">¤Þ¥Î«ü¬£</link>¡C³o·N¨ýµÛ·sªºÅܼÆÂ²³æªº¤Þ¥Î¡]´«¨¥¤§¡A¡u¦¨¬°¨ä§O¦W¡v ©ÎªÌ ¡u«ü¦V¡v¡^¤Fì©lÅܼơC§ï°Ê·sªºÅܼƱN¼vÅT¨ìì©lÅܼơA¤Ï¤§¥çµM¡C </para> <para> - ¨Ï¥Î¶Ç§}«ü¬£¡A¥u¶·¦b³Q°Ñ·ÓªºìÅܼƫe¥[¤W¤@Ó (&) ªº²Å¸¹¡C¨Ò¦p¡A¤U¦Cµ{¦¡½X¦b¨Ï¥Î¶Ç§}«ü¬£«á¿é¥X 'My name is Bob' ¨â¦¸¡C - + ¨Ï¥Î¤Þ¥Î«ü¬£¡A²³æ¦a±N¤@Ó & + ²Å¸¹¥[¨ì±Nn«ü¬£ªºÅܼƫe¡]·½Åܼơ^¡C¨Ò¦p¡A¤U¦C¥N½X¤ùÂ_±N¿é¥X¡uMy name is Bob¡v¨â¦¸¡G <informalexample> <programlisting role="php"> <![CDATA[ @@ -63,7 +68,7 @@ </para> <para> - »Ýnª`·Nªº¬O¥u¦³¯u¥¿©R¦WªºÅܼƤ~¥i¥H¥Î¨Ó¶i¦æ¶Ç§}«ü¬£¡C + ¦³¤@ÂI«n¨Æ¶µ¥²¶·«ü¥X¡A¨º´N¬O¥u¦³¦³¦W¦rªºÅܼƤ~¥i¥H¤Þ¥Î«ü¬£¡C <informalexample> <programlisting role="php"> <![CDATA[ @@ -83,51 +88,105 @@ </programlisting> </informalexample> </para> + <para> + ÁöµM¦b PHP ¤¤¨Ã¤£»Ýnªì©l¤ÆÅܼơA¦ý³o¬OÓ¦n²ßºD¡C¥¼ªì©l¤ÆªºÅܼƨ㦳¨äÃþ«¬ªºÀq»{È - + &false;¡A¹s¡AªÅ¦r¤¸¦ê©ÎªÌªÅ¼Æ²Õ¡C + </para> + <para> + <example> + <title>¥¼ªì©l¤ÆÅܼƪºÀq»{È</title> + <programlisting role="php"> +<![CDATA[ +<?php +echo ($unset_bool ? "true" : "false"); // false +$unset_int += 25; // 0 + 25 => 25 +echo $unset_string . "abc"; // "" . "abc" => "abc" +$unset_array[3] = "def"; // array() + array(3 => "def") => array(3 => "def") +?> +]]> + </programlisting> + </example> + </para> + <para> + ¨Ì¿à¥¼ªì©l¤ÆÅܼƪºÀq»{Ȧb¬Y¨Ç±¡ªp¤U·|¦³°ÝÃD¡A¨Ò¦p§â¤@Ó¤å¥ó¥]§t¨ì¥t¤@Ó¤§¤¤®É¸I¤W¬Û¦PªºÅܼƦW¡C¥t¥~§â + <link linkend="ini.register-globals">register_globals</link> ¥´¶}¬O¤@Ó¥Dnªº<link + linkend="security.globals">¦w¥þÁô±w</link>¡C<link linkend="e-notice">E_NOTICE</link> + ¯Å§Oªº¿ù»~·|¦b¸I¤W¥¼ªì©l¤ÆªºÅܼƮɵo¥X¡A¦ý¬O¦b¦V¤@Ó¥¼ªì©l¤Æªº¼Æ²Õªþ¥[³æ¤¸®É¤£·|¡C<function>isset</function> + »y¨¥µ²ºc¥i¥H¥Î¨ÓÀË´ú¤@ÓÅܼƬO§_¤w³Qªì©l¤Æ¡C + </para> </sect1> <sect1 id="language.variables.predefined"> - <title>¹w³]ªºÅܼÆ</title> - + <title>¹w©w¸qÅܼÆ</title> + <simpara> - PHP ¬°¥¦°õ¦æªºµ{¦¡´£¨Ñ¤F¤j¶qªº¹w³]ÅܼơCµM¦Ó¡A¥Ñ¤_¦³³\¦hÅܼƦ]¨Ì¿à¨ä©Ò°õ¦æªº¦øªA¾¹ºØÃþ¡Bª©¥»¡B¦w¸Ëµ¥±¡ªp¦Ó©w¡A¦]¦¹Ãø¥H¦³§¹¾ãªº³Q°O¸ü¤U¨Ó¡C§ó¦³¤@¨ÇÅܼƦb<link linkend="features.commandline">«ü¥O¦æ</link>ªº¼Ò¦¡¹B¦æ®É¬O¤£¯à¨Ï¥Îªº¡C¦³Ãö³o¨ÇÅܼƪº¦Cªí¡A½Ð°Ñ¦Ò<link linkend="reserved.variables">«O¯dªº¥ý«e©w¸qÅܼÆ</link>¤@¸`¡C + PHP ´£¨Ñ¤F¤j¶qªº¹w©w¸qÅܼơC¥Ñ©ó³\¦hÅܼƨ̿à©ó¹B¦æªºªA°È¾¹ªºª©¥»©M³]¸m¡A¤Î¨ä¥¦¦]¯À¡A©Ò¥H¨Ã¨S¦³¸Ô²Óªº»¡©ú¤åÀÉ¡C¤@¨Ç¹w©w¸qÅܼƦb + PHP ¥H<link linkend="features.commandline">©R¥O¦æ</link>§Î¦¡¹B¦æ®É¨Ã¤£¥Í®Ä¡C¦³Ãö³o¨ÇÅܼƪº¸Ô²Ó¦Cªí¡A½Ð°Ñ¾\<link + linkend="reserved.variables">¹w©w¸qÅܼÆ</link>¤@³¹¡C </simpara> <warning> <simpara> - PHP 4.2.0 ¥H«áªºª©¥»¡A<link linkend="ini.register-globals">register_globals</link> «ü¥Oªº¹w³]ȬO <emphasis>off</emphasis>¡C³o¬O¤@Ó«¤jªº§ïÅÜ¡C±N register_globals ªºÈ¹w³]¬° <emphasis>off</emphasis> ·|¼vÅT¨ì¹w³]ÅܼƦb¥þ°ì½d³ò¤ºªº¦³®Ä©Ê¡C¨Ò¦p¡An±o¨ì <varname>DOCUMENT_ROOT</varname> ªºÈ¡AÀ³¨Ï¥Î <varname>$_SERVER['DOCUMENT_ROOT']</varname> ¦Ó¤£¬O <varname>$DOCUMENT_ROOT</varname>¡B¨Ï¥Î <varname>$_GET['id']</varname> ¥H¨ú±o URL <literal>http://www.example.com/test.php?id=3</literal> ¤¤ id ªºÈ¡A¦Ó¤£¬O¥Î <varname>$id</varname>¡B©Î¨Ï¥Î <varname>$_ENV['HOME']</varname> ¨Ó¨ú¥N <varname>$HOME</varname>¡C + PHP 4.2.0 ¥H¤Î«áÄòª©¥»¤¤¡APHP «ü¥O <link + linkend="ini.register-globals">register_globals</link> ªºÀq»{Ȭ° + <emphasis>off</emphasis>¡C³o¬O PHP ªº¤@Ó¥DnÅܤơCÅý register_globals ªºÈ¬° + <emphasis>off</emphasis> ±N¼vÅT¨ì¹w©w¸qÅܼƶ°¦b¥þ§½½d³ò¤ºªº¦³®Ä©Ê¡C¨Ò¦p¡A¬°¤F±o¨ì + <varname>DOCUMENT_ROOT</varname> ªºÈ¡A±N¥²¶·¨Ï¥Î + <varname>$_SERVER['DOCUMENT_ROOT']</varname> ¥N´À + <varname>$DOCUMENT_ROOT</varname>¡A¤S¦p¡A¨Ï¥Î + <varname>$_GET['id']</varname> ¨Ó¥N´À <varname>$id</varname> ±q URL + <literal>http://www.example.com/test.php?id=3</literal> ¤¤Àò¨ú + id È¡A¥ç©Î¨Ï¥Î <varname>$_ENV['HOME']</varname> ¨Ó¥N´À + <varname>$HOME</varname> Àò¨úÀô¹ÒÅÜ¼Æ HOME ªºÈ¡C + </simpara> + <simpara> + §ó¦h¬ÛÃö¸ê°T¡A½Ð¾\Ū <link + linkend="ini.register-globals">register_globals</link> + ªº°t¸m¶µ±ø¥Ø¡A¦w¥þ¤@³¹¤¤ªº<link + linkend="security.globals">¨Ï¥Î Register Globals</link>¡A¥H¤Î PHP + <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ©M + <ulink url="&url.php.release4.2.0;">4.2.0</ulink> ªºµo¦æ³q§i¡C </simpara> <simpara> - §ó¦h»P¦¹§ó§ï¬ÛÃöªº¸ê®Æ¥i¦b <link linkend="ini.register-globals">register_globals</link> ªº³]¸m¤@¸`¡B<link linkend="security.registerglobals">¨Ï¥Î Register Globals</link> ¤¤ªº¦w¥þ³¹¡A©Î¦b <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ¤Î <ulink url="&url.php.release4.2.0;">4.2.0</ulink> ªºµo¦æ³q§i¤¤¨ú±o¡C - </simpara> - <simpara> - §ÚÌ«ØÄ³±z¨Ï¥Î PHP ´£¨Ñªº«O¯d¹w³]ÅܼơA¦p <link linkend="language.variables.superglobals">superglobal ³¯¦C</link>¡C + ¦pªG¦³¥i¥Îªº PHP ¹w©w¸qÅܼƨº³Ì¦n¥Î¡A¦p<link + linkend="language.variables.superglobals">¶W¥þ§½ÅܼÆ</link>¡C </simpara> </warning> <simpara> - ¦Û 4.1.0 ª©¥»°_¡APHP ÃB¥~´£¨Ñ¤F¤@®M¹w³]°}¦C¡A·í¤¤¥]§t¤F¨Ó¦Û¦øªA¾¹¡q¦p¾A¥Î¡r¡BÀô¹Ò¡B¤Î¨Ï¥ÎªÌ¿é¤JªºÅܼơC³o¨Ç·s³¯¦C¤ñ¸û¯S§O¡A¦]¦¹¥¦Ì·|¦Û°Ê¦a³]¬°¥þ°ì¡A§Y¥i¥H¦b©Ò¦³½d³ò¤º¨Ï¥Î¡C¥¿¦]¦p¦¹¡A¥¦Ì¤]³QºÙ¬° 'autoglobals' ©Î 'superglobals'¡C¡qPHP ©|¥¼¦³¨Ï¥ÎªÌ¦Û¦æ©w¸q superglobals ªº¥\¯à¡C¡r§Ú̱N¦b¤U±¦C¥X superglobals¡A¦ýnª¾¹D¥¦Ìªº¤º®e©M PHP ¹w³]Åܼƪº²`¤J°Q½×¡A½Ð°Ñ¦Ò<link linkend="reserved.variables">«O¯dªº¥ý«e©w¸qÅܼÆ</link>¤@¸`¡C¦¹¥~¡A±z¤]·|¯d·N¦³ªº¹w³]ÅÜ¼Æ (<varname>$HTTP_*_VARS</varname>) ¤´µM¦s¦b¡C - - &avail.register-long-arrays; + ±q PHP 4.1.0 ¶}©l¡APHP ´£¨Ñ¤F¤@®Mªþ¥[ªº¹w©w¼Æ²Õ¡A³o¨Ç¼Æ²ÕÅܼƥ]§t¤F¨Ó¦Û web + ªA°È¾¹¡]¦pªG¥i¥Î¡^¡A¹B¦æÀô¹Ò¡A©M¥Î¤á¿é¤Jªº¼Æ¾Ú¡C³o¨Ç¼Æ²Õ«D±`¯S§O¡A¥¦Ì¦b¥þ§½½d³ò¤º¦Û°Ê¥Í®Ä¡A¨Ò¦p¡A¦b¥ô¦ó½d³ò¤º¦Û°Ê¥Í®Ä¡C¦]¦¹³q±`³QºÙ¬°¦Û°Ê¥þ§½Åܼơ]autoglobals¡^©ÎªÌ¶W¥þ§½Åܼơ]superglobals¡^¡C¡]PHP + ¤¤¨S¦³¥Î¤á¦Û©w¸q¶W¥þ§½Åܼƪº¾÷¨î¡C¡^¶W¥þ§½ÅܼÆÃ¹¦C©ó¤U¤å¤¤¡F¦ý¬O¬°¤F±o¨ì¥¦Ìªº¤º®e©MÃö©ó + PHP ¹w©w¸qÅܼƪº¶i¤@¨Bªº°Q½×¥H¤Î¥¦Ìªº¥»½è¡A½Ð°Ñ¾\<link + linkend="reserved.variables">¹w©w¸qÅܼÆ</link>¡C¦Ó¥B¡A§A¤]±Nª`·N¨ìªº¹w©w¸q¼Æ²Õ¡]<varname>$HTTP_*_VARS</varname>¡^¤´Â¦s¦b¡C&avail.register-long-arrays; </simpara> - + <note> <title>¥iÅÜÅܼÆ</title> <para> - Superglobals ¤£¯à·í§@<link linkend="language.variables.variable">¥iÅÜÅܼÆ</link>¨Ó¨Ï¥Î¡C + ¶W¯Å¥þ§½ÅܼƤ£¯à³Q¥Î§@<link linkend="language.variables.variable">¥iÅÜÅܼÆ</link>¡C + </para> + </note> + <note> + <para> + ¾¨ºÞ¶W¥þ§½ÅܼƩM HTTP_*_VARS + ¦P®É¦s¦b¡C¦ý¬O¥L̨䣬O¦P¤@ÓÅܼơA©Ò¥H§ïÅܤ@ÓªºÈ¨Ã¤£·|¹ï¥t¤@Ó²£¥Í¼vÅT¡C </para> </note> <para> - ¦pªG¬Y¨Ç <link linkend="ini.variables-order">variables_order</link> ¤¤ªºÅܼƨS¦³³Q³]©w¡A¥¦Ì¬Û¹ïªº PHP ¹w³]³¯¦C¤]±N·|¬OªÅªº¡C + ¦pªG¬Y¨Ç <link linkend="ini.variables-order">variables_order</link> + ¤¤ªºÅܼƨS¦³³]©w¡A¥¦Ìªº¹ïÀ³ªº PHP ¹w©w¸q¼Æ²Õ¤]¬OªÅªº¡C </para> <variablelist id="language.variables.superglobals"> - <title>PHP ªº Superglobals</title> + <title>PHP ¶W¥þ§½ÅܼÆ</title> <varlistentry> <term><link linkend="reserved.variables.globals">$GLOBALS</link></term> <listitem> <simpara> - ¥]§t¤@Ó«ü¦Vµ{¦¡¥þ°ì½d³ò¤º¥i¥ÎÅܼƪº¯Á¤Þ¡C¦¹³¯¦Cªº¯Á¤ÞÁ䬰¥þ°ìÅܼƪº¦WºÙ¡C<varname>$GLOBALS</varname> ¦Û PHP 3 ¶}©l´N¤w¦s¦b¡C + ¥]§t¤@ӤޥΫü¦V¨CÓ·í«e¸}¥»ªº¥þ§½½d³ò¤º¦³®ÄªºÅܼơC¸Ó¼Æ²ÕªºÁä¦W¬°¥þ§½Åܼƪº¦WºÙ¡C±q + PHP 3 ¶}©l¦s¦b <varname>$GLOBALS</varname> ¼Æ²Õ¡C </simpara> </listitem> </varlistentry> @@ -135,7 +194,8 @@ <term><link linkend="reserved.variables.server">$_SERVER</link></term> <listitem> <simpara> - ¥Ñºô¶¦øªA¾¹³]©wªºÅܼƩΥثeªºµ{¦¡©Ò°õ¦æªºÀô¹Ò²£¥ÍªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_SERVER_VARS</varname> ³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + ÅÜ¼Æ¥Ñ web ªA°È¾¹³]©w©ÎªÌª½±µ»P·í«e¸}¥»ªº°õ¦æÀô¹Ò¬ÛÃöÁp¡CÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_SERVER_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -143,7 +203,8 @@ <term><link linkend="reserved.variables.get">$_GET</link></term> <listitem> <simpara> - ³q¹L HTTP GET ´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_GET_VARS</varname> ³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + ¸g¥Ñ URL ½Ð¨D´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_GET_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -151,7 +212,8 @@ <term><link linkend="reserved.variables.post">$_POST</link></term> <listitem> <simpara> - ³q¹L HTTP POST ´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_POST_VARS</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + ¸g¥Ñ HTTP POST ¤èªk´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_POST_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -159,7 +221,8 @@ <term><link linkend="reserved.variables.cookies">$_COOKIE</link></term> <listitem> <simpara> - ³q¹L HTTP cookies ´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_COOKIE_VARS</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + ¸g¥Ñ HTTP Cookies ¤èªk´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_COOKIE_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -167,7 +230,8 @@ <term><link linkend="reserved.variables.files">$_FILES</link></term> <listitem> <simpara> - ³q¹L HTTP POST ÀɮפW¶Ç´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_POST_FILES</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C¸Ô±¡½Ð°Ñ¾\ <link linkend="features.file-upload.post-method">POST ¤W¶Ç¤è¦¡</link>¡C + ¸g¥Ñ HTTP POST ¤å¥ó¤W¶Ç¦Ó´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_POST_FILES</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C¸Ô²Ó¸ê°T½Ð°Ñ¾\ <link linkend="features.file-upload.post-method">POST ¤èªk¤W¶Ç</link>¡C </simpara> </listitem> </varlistentry> @@ -175,7 +239,8 @@ <term><link linkend="reserved.variables.environment">$_ENV</link></term> <listitem> <simpara> - °õ¦æÀô¹Ò´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_ENV_VARS</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + °õ¦æÀô¹Ò´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_ENV_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -183,25 +248,34 @@ <term><link linkend="reserved.variables.request">$_REQUEST</link></term> <listitem> <simpara> - ³q¹L GET¡APOST ©M COOKIE ¿é¤J¤è¦¡´£¨Ñµ¹µ{¦¡ªºÅܼơB¤]¥¿¦]¦p¦¹¡A¤£È±o«H¥ô¡C¦¹³¯¦C¤¤Åܼƪº¦s¦b»P§_¤Î¦¸§Ç¬O¨M©w©ó <link linkend="ini.variables-order">variables_order</link> ªº³]©w¡CPHP 4.1.0 ¤§«eªºª©¥»¨Ã¨S¦³Ãþ¦ü¦¹³¯¦CªºÅܼơC½Ð¦P®É°Ñ¾\ <function>import_request_variables</function>¡C + ¸g¥Ñ GET¡APOST ©M COOKIE + ¾÷¨î´£¥æ¦Ü¸}¥»ªºÅܼơA¦]¦¹¸Ó¼Æ²Õ¨Ã¤£È±o«H¥ô¡C©Ò¦³¥]§t¦b¸Ó¼Æ²Õ¤¤ªºÅܼƪº¦s¦b»P§_¥H¤ÎÅܼƪº¶¶§Ç§¡«ö·Ó + &php.ini; ¤¤ªº <link linkend="ini.variables-order">variables_order</link> + °t¸m«ü¥Ü¨Ó©w¸q¡C¦¹¼Æ²Õ¦b PHP 4.1.0 ¤§«e¨S¦³ª½±µ¹ïÀ³ªºª©¥»¡C°Ñ¨£ + <function>import_request_variables</function>¡C </simpara> <caution> <simpara> - ¥Ñ PHP 4.3.0 ª©¶}©l¡A<varname>$_REQUEST</varname> ³¯¦C¤w¤£¦A§t¦³ FILE ªº¸ê°T¡C + ¦Û PHP 4.3.0 °_¡A<varname>$_FILES</varname> ¤¤ªº¤å¥ó¸ê°T¤£¦A¦s¦b©ó + <varname>$_REQUEST</varname> ¤¤¡C </simpara> </caution> <note> <simpara> - ¦b<link linkend="features.commandline">«ü¥O¦æ</link>¼Ò¦¡¤U°õ¦æ®É¡A¥¦¨Ã<emphasis>¤£</emphasis>¥]§t <varname>argv</varname> ©M <varname>argc</varname> ¶µ¥Ø¡C¦¹¨â¶µ¥Ø¥u¦b <varname>$_SERVER</varname> ³¯¦C¤¤¥X²{¡C + ·í¹B¦æ©ó<link linkend="features.commandline">©R¥O¦æ</link>¼Ò¦¡®É¡A¦¹¼Æ²Õ±N<emphasis>¤£·|</emphasis>¥]§t + <varname>argv</varname> ©M <varname>argc</varname> ±ø¥Ø¡F¥¦Ì¤w¸g¦s¦b©ó¼Æ²Õ + <varname>$_SERVER</varname> ¤¤¡C </simpara> - </note> + </note> </listitem> </varlistentry> <varlistentry> <term><link linkend="reserved.variables.session">$_SESSION</link></term> <listitem> <simpara> - ¥Ø«e©Mµ{¦¡ª`¥U¤Fªº session ÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_SESSION_VARS</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C¸Ô±¡½Ð°Ñ¾\ <link linkend="ref.session">Session ³B²z¨ç¼Æ</link>¤@¸`¡C + ·í«eµù¥Uµ¹¸}¥»·|¸ÜªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ + <varname>$HTTP_SESSION_VARS</varname> ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C¸Ô²Ó¸ê°T¡A½Ð°Ñ·Ó + <link linkend="ref.session">Session ³B²z¨ç¦¡</link>³¹¸`¡C </simpara> </listitem> </varlistentry> @@ -214,32 +288,35 @@ <title>Åܼƽd³ò</title> <simpara> - Åܼƪº½d³ò¥u¬O¦b¨ä©Ò©w¸qªºªÅ¶¡¤º¦s¦b¡C¦b¤j³¡¥÷ªº±¡ªp¤U¡APHP ªºÅܼƥu¦³¤@Ó³æ¤@ªº½d³ò¡C³o³æ¤@ªº½d³ò¤]¥]§t¤F¥H include ©M require ¤è¦¡¤Þ¤JªºÀɮסC¨Ò¦p¡G + Åܼƪº½d³ò§Y¥¦©w¸qªº¤W¤U¤åI´º¡]¤]´N¬O¥¦ªº¥Í®Ä½d³ò¡^¡C¤j³¡¤Àªº + PHP Åܼƥu¦³¤@Ó³æ¿Wªº½d³ò¡C³oÓ³æ¿Wªº½d³ò¸ó«×¦P¼Ë¥]§t¤F + include ©M require ¤Þ¤Jªº¤å¥ó¡C¨Ò¦p¡G </simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php $a = 1; -include "b.inc"; +include 'b.inc'; ?> ]]> </programlisting> </informalexample> <simpara> - ¨Ò¤l¤¤¡AÅÜ¼Æ <varname>$a</varname> ¤]¦s¦b¤_³Q¥]§t¤Jªºµ{¦¡ <filename>b.inc</filename> ¤¤¡C¦ý¬O¦b¨Ï¥ÎªÌ¦Ûqªº¨ç¼Æ¤¤¡A¤@Ӱϰì©Êªº¨ç¼Æ½d³ò±N³Q¤Þ¥Î¡C¥ô¦ó¦b¨ç¼Æ¤º¨Ï¥ÎªºÅܼƦb¹w³]ªº±¡ªp¤U¥u§½©ó¸Ó¨ç¼Æªº½d³ò¤º¡C¨Ò¦p¡G + ³o¸ÌÅÜ¼Æ <varname>$a</varname> ±N·|¦b¥]§t¤å¥ó + <filename>b.inc</filename> ¤¤¥Í®Ä¡C¦ý¬O¡A¦b¥Î¤á¦Û©w¸q¨ç¦¡¤¤¡A¤@Ó§½³¡¨ç¦¡½d³ò±N³Q¤Þ¤J¡C¥ô¦ó¥Î©ó¨ç¦¡¤º³¡ªºÅܼƫö¯Ê¬Ù±¡ªp±N³Q¨î¦b§½³¡¨ç¦¡½d³ò¤º¡C¨Ò¦p¡G </simpara> - + <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ <?php -$a = 1; /* global scope */ +$a = 1; /* global scope */ function Test() -{ - echo $a; /* reference to local scope variable */ -} +{ + echo $a; /* reference to local scope variable */ +} Test(); ?> @@ -248,11 +325,22 @@ </informalexample> <simpara> - ³oÓµ{¦¡¤£·|¿é¥X¥ô¦óªF¦è¡A¦]¬° echo z¥y¨Ï¥Î¤F¥»°Ï°ìª©¥»ªº <varname>$a</varname> ÅܼơA¦Ó¸Ó¥»°Ï°ìÅܼƨå¼´¿³Q¤À°t¤@ÓÈ¡C§A·|µo²{³o©M C »y¨¥ªº°µªk¤£¦P¡A¦]¬° C ªº¥þ°ìÅܼƬO¦Û°Êªº´£¨Ñµ¹¦U¨ç¼Æ¡A°£«D¦b¥»°ì©w¸q¤¤«ü©úºM¾P¡C¦¹°µªk¥i¯à·|¤ÞP¤@¨Ç°ÝÃD¡A¦p¨Ï¥ÎªÌ¤£·V¦a§ó§ï¤F¥þ°ìÅܼƪºÈ¡C¦b PHP ¤¤¡A¥þ°ìÅܼƦb¥»°ì¨Ï¥Î«e¥²¶·¥ý«Å§G¬°¥þ°ì¡C¨Ò¤l¡G + ³oÓ¸}¥»¤£·|¦³¥ô¦ó¿é¥X¡A¦]¬° echo »y¥y¤Þ¥Î¤F¤@Ó§½³¡ª©¥»ªºÅÜ¼Æ + <varname>$a</varname>¡A¦Ó¥B¦b³oÓ½d³ò¤º¡A¥¦¨Ã¨S¦³³Q«ü¬£¡C§A¥i¯àª`·N¨ì + PHP ªº¥þ§½ÅܼƩM C »y¨¥¦³¤@ÂIÂI¤£¦P¡A¦b C + »y¨¥¤¤¡A¥þ§½ÅܼƦb¨ç¦¡¤¤¦Û°Ê¥Í®Ä¡A°£«D³Q§½³¡ÅܼÆÂл\¡C³o¥i¯à¤Þ°_¤@¨Ç°ÝÃD¡A¦³¨Ç¤H¥i¯àº©¤£¸g¤ßªº§ïÅܤ@Ó¥þ§½ÅܼơCPHP + ¤¤¥þ§½ÅܼƦb¨ç¦¡¤¤¨Ï¥Î®É¥²¶·¥Ó©ú¬°¥þ§½¡C </simpara> - <informalexample> - <programlisting role="php"> + <sect2 id="language.variables.scope.global"> + <title>global ÃöÁä¦r</title> + <simpara> + º¥ý¡A¤@ӨϥΠ<literal>global</literal> ªº¨Ò¤l¡G + </simpara> + <para> + <example> + <title>¨Ï¥Î global</title> + <programlisting role="php"> <![CDATA[ <?php $a = 1; @@ -263,25 +351,30 @@ global $a, $b; $b = $a + $b; -} +} Sum(); echo $b; ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - ¤Wz¨Ò¤l±N·|¿é¥X "3"¡C¦b¨ç¼Æ¤º«Å§G <varname>$a</varname> ¤Î <varname>$b</varname> ¬°¥þ°ì«á¡A©Ò¦³¯A¤Î¸Ó¨âÓÅܼƪº¨Ï¥Î±N¦Û°Ê«ü¦V¥þ°ìªºª©¥»¡CPHP ¨S¦³©w¤@Ó¨ç¼Æ¥i¥H¨Ï¥Îªº¥þ°ìÅܼƪº¼Æ¶q¡C - </simpara> + <simpara> + ¥H¤W¸}¥»ªº¿é¥X±N¬O¡u3¡v¡C¦b¨ç¦¡¤¤¥Ó©ú¤F¥þ§½ÅÜ¼Æ + <varname>$a</varname> ©M <varname>$b</varname>¡A¥ô¦óÅܼƪº©Ò¦³¤Þ¥ÎÅܼƳ£·|«ü¦V¨ì¥þ§½ÅܼơC¹ï©ó¤@Ө禡¯à°÷¥Ó©úªº¥þ§½Åܼƪº³Ì¤jӼơAPHP ¨S¦³¨î¡C + </simpara> - <simpara> - ²Ä¤GºØ¦s¨ú¥þ°ì½d³ò¤¤ªºÅܼƤèªk¬O¨Ï¥Î¤@ PHP ¯S§O©w¸qªº³¯¦C¡G<varname>$GLOBALS</varname>¡C«e±ªº¨Ò¤l¥i¥H«¼g¬°¡G - </simpara> + <simpara> + ¦b¥þ§½½d³ò¤º³X°ÝÅܼƪº²Ä¤GÓ¿ìªk¡A¬O¥Î¯S®íªº PHP ¦Û©w¸q + <varname>$GLOBALS</varname> ¼Æ²Õ¡C«e±ªº¨Ò¤l¥i¥H¼g¦¨¡G + </simpara> - <informalexample> - <programlisting role="php"> + <para> + <example> + <title>¨Ï¥Î <varname>$GLOBALS</varname> ´À¥N global</title> + <programlisting role="php"> <![CDATA[ <?php $a = 1; @@ -289,53 +382,62 @@ function Sum() { - $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; -} + $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b']; +} Sum(); echo $b; ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - <varname>$GLOBALS</varname> ¬O¤@ÓÃöÁp³¯¦C (associative array)¡A¥þ°ìÅܼƪº¦W§Y¬°¯Á¤ÞÁä¡A¦Ó¸ÓÅܼƪº¤º®e§Y¬°³¯¦CªºÈ¡C¦³§_¯d·N¨ì <varname>$GLOBALS</varname> ¦b¥ô¦ó¤@Ó½d³ò³£¥X²{¡H¨º¬O¦]¬° $GLOBALS ¬O¤@Ó<link linkend="language.variables.superglobals">superglobal</link>¡C³o¬O¤@ӥܽd superglobals ±j¤j¥\¯àªº¨Ò¤l¡G - </simpara> - <para> - - <informalexample> - <programlisting role="php"> + <simpara> + ¦b <varname>$GLOBALS</varname> + ¼Æ²Õ¤¤¡A¨C¤@ÓÅܼƬ°¤@Ó¤¸¯À¡AÁä¦W¹ïÀ³ÅܼƦW¡AȹïÀ³Åܼƪº¤º®e¡C<varname>$GLOBALS</varname> + ¤§©Ò¥H¦b¥þ§½½d³ò¤º¦s¦b¡A¬O¦]¬° $GLOBALS ¬O¤@Ó<link + linkend="language.variables.superglobals">¶W¥þ§½ÅܼÆ</link>¡C¥H¤U½d¨ÒÅã¥Ü¤F¶W¥þ§½Åܼƪº¥Î³B¡G + </simpara> + + <para> + <example> + <title>ºt¥Ü¶W¥þ§½ÅܼƩM§@¥Î°ìªº¨Ò¤l</title> + <programlisting role="php"> <![CDATA[ <?php function test_global() { - // Most predefined variables aren't "super" and require - // 'global' to be available to the functions local scope. + // ¤j¦h¼Æªº¹w©w¸qÅܼƨä£ "super"¡A¥¦Ì»Ýn¥Î 'global' ÃöÁä¦r¨Ó¨Ï¥¦Ì¦b¨ç¦¡ªº¥»¦a°Ï°ì¤¤¦³®Ä¡C global $HTTP_POST_VARS; - - print $HTTP_POST_VARS['name']; - - // Superglobals are available in any scope and do - // not require 'global'. Superglobals are available - // as of PHP 4.1.0 - print $_POST['name']; + + echo $HTTP_POST_VARS['name']; + + // Superglobals ¦b¥ô¦ó½d³ò¤º³£¦³®Ä¡A¥¦Ì¨Ã¤£»Ýn 'global' Án©ú¡CSuperglobals ¬O¦b PHP 4.1.0 ¤Þ¤Jªº¡C + echo $_POST['name']; } ?> ]]> - </programlisting> - </informalexample> - </para> - - <simpara> - Åܼƽd³òªº¥t¤@Ó«n¥\¯à¬°<emphasis>ÀRºA</emphasis>ÅܼơCÀRºAÅܼƥu¦b¥»°ì¨ç¼Æ½d³ò¤º¦s¦b¡A¦ý¬O·íµ{¦¡°õ¦æÂ÷¶}¦¹½d³ò®É¡A¥¦¨Ã¤£·|³à¥¢¥¦ªºÈ¡C¬Ý¬Ý¤U±ªº¨Ò¤l¡G - </simpara> + </programlisting> + </example> + </para> + </sect2> - <informalexample> - <programlisting role="php"> + <sect2 id="language.variables.scope.static"> + <title>¨Ï¥ÎÀRºAÅܼÆ</title> + + <simpara> + Åܼƽd³òªº¥t¤@Ó«n¯S©Ê¬O<emphasis>ÀRºAÅܼÆ</emphasis>¡]static + variable¡^¡CÀRºAÅܼƶȦb§½³¡¨ç¦¡°ì¤¤¦s¦b¡A¦ý·íµ{§Ç°õ¦æÂ÷¶}¦¹§@¥Î°ì®É¡A¨äȨ䣥ᥢ¡C¬Ý¬Ý¤U±ªº¨Ò¤l¡G + </simpara> + + <para> + <example> + <title>ºt¥Ü»ÝnÀRºAÅܼƪº¨Ò¤l</title> + <programlisting role="php"> <![CDATA[ <?php -function Test () +function Test() { $a = 0; echo $a; @@ -343,15 +445,23 @@ } ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - ¦¹¨ç¼Æ¨S¦³¤°»ò¥Î³B¡A¦]¨C¤@¦¸°õ¦æ¥¦®É¡A¥¦±N <varname>$a</varname> ³]¬° <literal>0</literal> µM«á¦C¦L¥X "0"¡C<varname>$a</varname>++ ¼W¥[¤F <varname>$a</varname> ªºÈ¡A¦ý¨Ã¨S¦³¹ê»Ú¥Î³~¦]¬°¤@¥¹Â÷¶}¤F¸Ó¨ç¼Æ¡AÅÜ¼Æ <varname>$a</varname> ¤]ÀH¤§®ø¥¢¡Cn³]p¤@Ó¦³¥Îªº¡B¤£·|¥á¥¢·í«ep¼Æªºp¼Æ¨ç¼Æ¡A§ÚÌ¥i¥H±N <varname>$a</varname>«Å§G¬°ÀRºA¡G - </simpara> + <simpara> + ¥»¨ç¦¡¨S¤°»ò¥Î³B¡A¦]¬°¨C¦¸½Õ¥Î®É³£·|±N + <varname>$a</varname> ªºÈ³]¬° <literal>0</literal> ¨Ã¿é¥X + "0"¡C±NÅܼƥ[¤@ªº <varname>$a</varname>++ + ¨S¦³§@¥Î¡A¦]¬°¤@¥¹°h¥X¥»¨ç¦¡«hÅÜ¼Æ + <varname>$a</varname> ´N¤£¦s¦b¤F¡Cn¼g¤@Ó¤£·|¥á¥¢¥»¦¸p¼ÆÈªºp¼Æ¨ç¦¡¡An±NÅÜ¼Æ + <varname>$a</varname> ©w¸q¬°ÀRºAªº¡G + </simpara> - <informalexample> - <programlisting role="php"> + <para> + <example> + <title>¨Ï¥ÎÀRºAÅܼƪº¨Ò¤l</title> + <programlisting role="php"> <![CDATA[ <?php function Test() @@ -362,19 +472,25 @@ } ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - ²{¦b¡A¨C·í¨ç¼Æ Test() ³Q©I¥s®É¡A¥¦·|¦C¦L¥X <varname>$a</varname> ªºÈ¡AµM«á¥[¤W¤@¡C - </simpara> + <simpara> + ²{¦b¡A¨C¦¸½Õ¥Î Test() ¨ç¦¡³£·|¿é¥X + <varname>$a</varname> ªºÈ¨Ã¥[¤@¡C + </simpara> - <simpara> - ÀRºAÅܼƤ]´£¨Ñ¤@ºØ³B²z»¼°j¨ç¼Æªº¤èªk¡C»¼°j¨ç¼Æ¬O¤@ºØ©I¥s¦Û¤vªº¨ç¼Æ¡C½s¼g»¼°j¨ç¼Æ®É¥²¶·¯d·N¡A¦]¬°Y½s¼g¿ù»~¡A¥¦¦³¥i¯à·|µL©w¦a»¼°j¡C±z¥²¶·½T©w¨¬°÷ªº¤è¦¡¨Ó²×¤î»¼°j¡C¤U¦C²³æªº¨ç¼Æ±N»¼°j¦a¼Æ¨ì 10¡A§Q¥ÎÀRºAÅÜ¼Æ <varname>$count</varname> ¨ÓÂ_©w¤°»ò®ÉÔ°±¤î¡G - </simpara> + <simpara> + ÀRºAÅܼƤ]´£¨Ñ¤F¤@ºØ³B²z»¼Âk¨ç¦¡ªº¤èªk¡C»¼Âk¨ç¦¡¬O¤@ºØ½Õ¥Î¦Û¤vªº¨ç¦¡¡C¼g»¼Âk¨ç¦¡®Én¤p¤ß¡A¦]¬°¥i¯à·|µL½a»¼Âk¤U¥h¡C¥²¶·½T«O¦³¥R¤Àªº¤èªk¨Ó¤¤¤î»¼Âk¡C¤@¤U³oÓ²³æªº¨ç¦¡»¼Âkp¼Æ¨ì + 10¡A¨Ï¥ÎÀRºAÅÜ¼Æ + <varname>$count</varname> ¨Ó§PÂ_¦ó®É°±¤î¡G + </simpara> - <informalexample> - <programlisting role="php"> + <para> + <example> + <title>ÀRºAÅܼƻP»¼Âk¨ç¦¡</title> + <programlisting role="php"> <![CDATA[ <?php function Test() @@ -384,21 +500,56 @@ $count++; echo $count; if ($count < 10) { - Test (); + Test(); } $count--; } ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - ÅX°Ê <literal>PHP 4</literal> ªº Zend Engine 1 ¬O¥H°Ñ·Óªº¤è¦¡¨Ó¹ê²{ <literal>static</literal> ©M <literal>global</literal> ªº¡C¨Ò¦p¡A¤@Ó¯u¥¿ªº¥þ°ìÅܼƨϥΠ<literal>global</literal> ¤è¦¡¤Þ¶i¤@Ó¨ç¼Æ½d³ò®É¹ê»Ú¤W´N¬O«Ø¥ß¤F¤@Ó¥þ°ìÅܼƪº°Ñ·Ó¡C³o±N¾ÉP¤@¨Ç·N·Q¤£¨ìªº¦æ¬°¡A¥¿¦p¤U¦C¨Ò¤l©Òz¡G - </simpara> + <note> + <para> + ÀRºAÅܼƥi¥H«ö·Ó¤W±ªº¨Ò¤lÁn©ú¡C¦pªG¦bÁn©ú¤¤¥Îªí¹F¦¡ªºµ²ªG¹ï¨ä«ü¬£·|¾ÉP¸ÑªR¿ù»~¡C + </para> + <para> + <example> + <title>Án©úÀRºAÅܼÆ</title> + <programlisting role="php"> +<![CDATA[ +<?php +function foo(){ + static $int = 0; // correct + static $int = 1+2; // wrong (as it is an expression) + static $int = sqrt(121); // wrong (as it is an expression too) - <informalexample> - <programlisting role="php"> + $int++; + echo $int; +} +?> +]]> + </programlisting> + </example> + </para> + </note> + </sect2> + + <sect2 id="language.variables.scope.references"> + <title>¥þ§½©MÀRºAÅܼƪº¤Þ¥Î</title> + <simpara> + ¦b Zend ¤ÞÀº 1 ¥N¡A¥¦ÅX°Ê¤F PHP4¡A¹ï©óÅܼƪº + <link linkend="language.variables.scope.static">static</link> ©M + <link linkend="language.variables.scope.global">global</link> + ©w¸q¬O¥H <link linkend="language.references">references</link> + ªº¤è¦¡¹ê²{ªº¡C¨Ò¦p¡A¦b¤@Ө禡°ì¤º³¡¥Î + <literal>global</literal> + »y¥y¾É¤Jªº¤@Ó¯u¥¿ªº¥þ§½Åܼƹê»Ú¤W¬O«Ø¥ß¤F¤@Ó¨ì¥þ§½Åܼƪº¤Þ¥Î¡C³o¦³¥i¯à¾ÉP¹w®Æ¤§¥~ªº¦æ¬°¡A¦p¥H¤U¨Ò¤l©Òºt¥Üªº¡G + </simpara> + + <informalexample> + <programlisting role="php"> <![CDATA[ <?php function test_global_ref() { @@ -417,34 +568,35 @@ var_dump($obj); ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </informalexample> - <simpara> - °õ¦æ³oÓ¨Ò¤l±N·|¾ÉP¤U¦Cªº¿é¥X¡G - </simpara> + <simpara> + °õ¦æ¥H¤W¨Ò¤l·|¾ÉP¦p¤U¿é¥X¡G + </simpara> - <screen> + <screen> NULL object(stdClass)(0) { } - </screen> + </screen> - <simpara> - <literal>static</literal> ³¯z¦¡¤]·|¾ÉP¦P¼Ëªº¿é¥X¡C°Ñ·Ó¨Ã¨S¦³³QÀRºA¦aÀx¦s¡G - </simpara> - - <informalexample> - <programlisting role="php"> + <simpara> + Ãþ¦üªº¦æ¬°¤]¾A¥Î©ó + <literal>static</literal> »y¥y¡C¤Þ¥Î¨Ã¤£¬OÀRºA¦a¦sÀxªº¡G + </simpara> + + <informalexample> + <programlisting role="php"> <![CDATA[ <?php function &get_instance_ref() { static $obj; - echo "Static object: "; + echo 'Static object: '; var_dump($obj); if (!isset($obj)) { - // Assign a reference to the static variable + // ±N¤@ӤޥΫü¬£µ¹ÀRºAÅÜ¼Æ $obj = &new stdclass; } $obj->property++; @@ -454,10 +606,10 @@ function &get_instance_noref() { static $obj; - echo "Static object: "; + echo 'Static object: '; var_dump($obj); if (!isset($obj)) { - // Assign the object to the static variable + // ±N¤@ӹﹳ«ü¬£µ¹ÀRºAÅÜ¼Æ $obj = new stdclass; } $obj->property++; @@ -471,14 +623,14 @@ $still_obj2 = get_instance_noref(); ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </informalexample> - <simpara> - °õ¦æ¦¹¨Ò¤l±N¾ÉP¤U¦Cªº¿é¥X¡G - </simpara> + <simpara> + °õ¦æ¥H¤W¨Ò¤l·|¾ÉP¦p¤U¿é¥X¡G + </simpara> - <screen> + <screen> Static object: NULL Static object: NULL @@ -487,48 +639,50 @@ ["property"]=> int(1) } - </screen> - - <simpara> - ¤Wz¨Ò¤l¥Ü½d¤F¦b«ü¬£¤@Ó°Ñ·Óµ¹¤©¤@ÓÀRºAÅܼƫá¡A·í±z²Ä¤G¦¸©I¥s <literal>&get_instance_ref()</literal> ¨ç¼Æ®É¡A¥¦¬O<emphasis>¤£·|</emphasis>°O¦í¤§«eªºÈªº¡C - </simpara> - + </screen> + <simpara> + ¤W¨Òºt¥Ü¤F·í§â¤@ӤޥΫü¬£µ¹¤@ÓÀRºAÅܼƮɡA²Ä¤G¦¸½Õ¥Î + <literal>&get_instance_ref()</literal> ¨ç¦¡®É¨äȨèS¦³³Q<emphasis>°O¦í</emphasis>¡C + </simpara> + </sect2> </sect1> <sect1 id="language.variables.variable"> <title>¥iÅÜÅܼÆ</title> <simpara> - ¦³®ÉÔ¡A¥i¥H¨Ï¥Î¥iÅÜÅܼƷ|¥O¨ì¤u§@§ó¥[¤è«K¡C¤]´N¬O´N¡A¤@ÓÅܼƪº¦W¥i¥H³Q°ÊºAªº³]©w©M¨Ï¥Î¡C¤@Ó´¶³qªºÅܼƬO¥H¤U¦Cªº¤èªk³]©w¡G + ¦³®ÉԨϥΥiÅÜÅܼƦW¬O«Ü¤è«Kªº¡C´N¬O»¡¡A¤@ÓÅܼƪºÅܼƦW¥i¥H°ÊºAªº³]¸m©M¨Ï¥Î¡C¤@Ó´¶³qªºÅܼƳq¹LÁn©ú¨Ó³]¸m¡A¨Ò¦p¡G </simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php -$a = "hello"; +$a = 'hello'; ?> ]]> </programlisting> </informalexample> <simpara> - ¤@Ó¥iÅÜÅܼƬO¥H¥t¤@ÓÅܼƪºÈ§@¬°¥¦ªºÅܼƦW¡C¦b¤Wz¨Ò¤l¤¤¡A¥un¥[¨âÓ $ ¦b <emphasis>hello</emphasis> ªº«e±´N¥i§â¥¦·í§@¬O¤@ÓÅܼƪº¦W¨Ó¨Ï¥Î¤F¡C§Y¡G + ¤@Ó¥iÅÜÅܼÆÀò¨ú¤F¤@Ó´¶³qÅܼƪºÈ§@¬°³oÓ¥iÅÜÅܼƪºÅܼƦW¡C¦b¤W±ªº¨Ò¤l¤¤ + <emphasis>hello</emphasis> ¨Ï¥Î¤F¨âÓ¬ü¤¸²Å¸¹¡]$¡^¥H«á¡A´N¥i¥H§@¬°¤@Ó¥iÅÜÅܼƪºÅܼƤF¡C¨Ò¦p¡G </simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php -$$a = "world"; +$$a = 'world'; ?> ]]> </programlisting> </informalexample> <simpara> - ³o®É¡A¦³¨âÓÅܼƳQ©w¸qµM«áÀx¦s¦b PHP ªº²Å¸¹ªí¤¤¡G§t¦³ "hello" ªº <varname>$a</varname> ¤Î§t¦³ "world" ªº <varname>$hello</varname>¡C©Ò¥H¡A¦¹±Ôz¡G + ³o®É¡A¨âÓÅܼƳ£³Q©w¸q¤F¡G<varname>$a</varname> ªº¤º®e¬O¡uhello¡v¨Ã¥B + <varname>$hello</varname> ªº¤º®e¬O¡uworld¡v¡C¦]¦¹¡A¥i¥Hªíz¬°¡G </simpara> <informalexample> @@ -542,7 +696,7 @@ </informalexample> <simpara> - »P¤U¦C³o¥y¦³µÛ¦P¼Ëªº¿é¥X¡G + ¥H¤U¼gªk§ó·Ç½T¨Ã¥B·|¿é¥X¦P¼Ëªºµ²ªG¡G </simpara> <informalexample> @@ -556,29 +710,40 @@ </informalexample> <simpara> - §Y¡A¥¦Ì³£¿é¥X¡G<computeroutput>hello world</computeroutput>¡C + ¥¦Ì³£·|¿é¥X¡G<computeroutput>hello world</computeroutput>¡C </simpara> <simpara> - ¬°¤Fn¦b³¯¦C¤¤¨Ï¥Î¥iÅÜÅܼơA±z¥²¶·º¥ý¸Ñ¨M¤@Ó¼Ò½kªº°ÝÃD¡C¤ñ¤è»¡¡A¦pªG±z¨Ï¥Î <varname>$$a[1]</varname>¡A¨ºåªR¾¹¥²¶·ª¾¹D±z¬O·Q·í <varname>$a[1]</varname> ¬OÅܼƨӨϥΡAÁÙ¬O·í <varname>$$a</varname> ¬OÅܼơAµM«á«ü¦V¨ºÓÅܼƪº²Ä [1] Ó¯Á¤Þ¡C¸Ñ¨M¤Wz¼Ò½k°ÝÃDªº»yªk¬O¡G²Ä¤@Ó±¡ªp¨Ï¥Î <varname>${$a[1]}</varname>¡B²Ä¤GÓ±¡ªp¨Ï¥Î <varname>${$a}[1]</varname>¡C + n±N¥iÅÜÅÜ¼Æ¥Î©ó¼Æ²Õ¡A¥²¶·¸Ñ¨M¤@Ó¼Ò¸W¨â¥iªº°ÝÃD¡C³o´N¬O·í¼g¤U + <varname>$$a[1]</varname> + ®É¡A¸ÑªR¾¹»Ýnª¾¹D¬O·Qn + <varname>$a[1]</varname> + §@¬°¤@ÓÅܼƩO¡AÁÙ¬O·Qn + <varname>$$a</varname> + §@¬°¤@ÓÅܼƨèú¥X¸ÓÅܼƤ¤¯Á¤Þ¬° [1] + ªºÈ¡C¸Ñ¨M¦¹°ÝÃDªº»yªk¬O¡A¹ï²Ä¤@ºØ±¡ªp¥Î + <varname>${$a[1]}</varname>¡A¹ï²Ä¤GºØ±¡ªp¥Î + <varname>${$a}[1]</varname>¡C </simpara> - + <warning> <simpara> - ¥²¶·¯d·Nªº¬O¡A¥iÅÜÅܼƬO¤£¯à¨Ï¥Î©ó PHP ªº <link linkend="language.variables.superglobals">Superglobal ³¯¦C</link>¡C³oªí¥Ü±z¤£¯à¨Ï¥Î <varname>${$_GET}</varname> ³o¼Ëªº±Ôz¡C¦pªG±z¯uªº·Q¨Ï¥Î superglobals ©Mªº <varname>HTTP_*_VARS</varname>¡A±z¥i¥H¹Á¸Õ¥H<link linkend="language.references">°Ñ·Ó</link>ªº¤è¦¡¨Ï¥Î¡C + ª`·N¡A¦b PHP ªº¨ç¦¡©MÃþªº¤èªk¤¤¡A<link + linkend="language.variables.superglobals">¶W¥þ§½ÅܼÆ</link>¤£¯à¥Î§@¥iÅÜÅܼơC </simpara> </warning> - + </sect1> <sect1 id="language.variables.external"> - <title>¨Ó¦Û PHP ¥H¥~ªºÅܼÆ</title> - + <title>¨Ó¦Û PHP ¤§¥~ªºÅܼÆ</title> + <sect2 id="language.variables.external.form"> - <title>HTML ªí³æ (GET ©MPOST)</title> + <title>HTML ªí³æ¡]GET ©M POST¡^</title> <simpara> - ·í¤@¥÷ªí³æ¶Ç°eµ¹ PHP µ{¦¡®É¡Aªí³æ¤ºªº¸ê°T±N¦Û°Ê´£¨Ñµ¹¸Óµ{¦¡¡C§Ú̦³«Ü¦h¤èªk¦s¨ú³o¨Ç¸ê°T¡A½d¨Ò¡G + ·í¤@Óªí³æÅ饿µ¹ PHP + ¸}¥»®É¡Aªí³æ¤¤ªº¸ê°T·|¦Û°Ê¦b¸}¥»¤¤¥i¥Î¡C¦³«Ü¦h¤èªk³X°Ý¦¹¸ê°T¡A¨Ò¦p¡G </simpara> <para> @@ -586,10 +751,10 @@ <title>¤@Ó²³æªº HTML ªí³æ</title> <programlisting role="html"> <![CDATA[ -<form action="foo.php" method="post"> - Name: <input type="text" name="username"><br> - Email: <input type="text" name="email"><br> - <input type="submit" name="submit" value="Submit me!"> +<form action="foo.php" method="POST"> + Name: <input type="text" name="username"><br /> + Email: <input type="text" name="email"><br /> + <input type="submit" name="submit" value="Submit me!" /> </form> ]]> </programlisting> @@ -597,61 +762,74 @@ </para> <para> - ®Ú¾Ú±zªº¦w¸Ë¤è¦¡©MÓ¤H°¾¦n¡APHP ´£¨Ñ¦hºØ¤è¦¡¦s¨ú HTML ªí³æ¤¤ªº¸ê®Æ¡C¤@¨Ç¨Ò¤l¦p¡G + ®Ú¾Ú¯S©wªº³]¸m©MÓ¤Hªº³ß¦n¡A¦³«Ü¦hºØ¤èªk³X°Ý HTML + ªí³æ¤¤ªº¼Æ¾Ú¡C¨Ò¦p¡G </para> - + <para> <example> - <title>¦s¨ú¤@Ó¥H POST ¤è¦¡¶Ç°eªºÂ²³æ HTML ªí³æ</title> + <title>±q¤@Ó²³æªº POST HTML ªí³æ³X°Ý¼Æ¾Ú</title> <programlisting role="html"> <![CDATA[ -<?php -// Available since PHP 4.1.0 - - print $_POST['username']; - print $_REQUEST['username']; - +<?php +// ¦Û PHP 4.1.0 °_¥i¥Î + echo $_POST['username']; + echo $_REQUEST['username']; import_request_variables('p', 'p_'); - print $p_username; - -// Available since PHP 3. As of PHP 5.0.0, these long predefined -// variables can be disabled with the register_long_arrays directive. - - print $HTTP_POST_VARS['username']; - -// Available if the PHP directive register_globals = on. As of -// PHP 4.2.0 the default value of register_globals = off. -// Using/relying on this method is not preferred. - - print $username; + echo $p_username; +// ¦Û PHP 3 °_¥i¥Î¡C¦Û PHP 5.0.0 °_¡A³o¨Ç¸ûªøªº¹w©w¸qÅÜ¼Æ +// ¥i¥Î register_long_arrays «ü¥OÃö³¬¡C + echo $HTTP_POST_VARS['username']; +// ¦pªG PHP «ü¥O register_globals = on ®É¥i¥Î¡C¤£¹L¦Û +// PHP 4.2.0 °_Àq»{Ȭ° register_globals = off¡C +// ¤£´£Ò¨Ï¥Î/¨Ì¿à¦¹ºØ¤èªk¡C + echo $username; ?> ]]> </programlisting> </example> </para> <para> - ¨Ï¥Î GET ¤è¦¡¶Ç°eªºªí³æ¥ÎªkÃþ¦ü¡A¥u¤£¹L¨Ï¥Î¦X¾Aªº¥ý«e©w¸qªº¨ç¼Æ¡CGET ¤]¥i¨Ï¥Î¦b¬d¸ß¦r¦ê (QUERY_STRING) ¡qURL ¤¤°Ý¸¹ '?' «á±ªº¸ê°T¡r¡C¨Ò¦p¡A<literal>http://www.example.com/test.php?id=3</literal> §t¦³¥H <varname>$_GET['id']</varname> ¤è¦¡¦s¨úªº GET ¸ê®Æ¡C½Ð°Ñ¦Ò <link linkend="reserved.variables.request">$_REQUEST</link> ©M <function>import_request_variables()</function>¡C + ¨Ï¥Î GET ªí³æ¤]Ãþ¦ü¡A¥u¤£¹Ln¥Î¾A·íªº GET ¹w©w¸qÅܼơCGET + ¤]¾A¥Î©ó + QUERY_STRING¡]URL ¤¤¦b¡u?¡v¤§«áªº¸ê°T¡^¡C¦]¦¹¡AÁ|¨Ò»¡¡A<literal>http://www.example.com/test.php?id=3</literal> + ¥]§t¦³¥i¥Î <varname>$_GET['id']</varname> + ³X°Ýªº GET ¼Æ¾Ú¡C°Ñ¨£ + <link linkend="reserved.variables.request">$_REQUEST</link> ©M + <function>import_request_variables</function>¡C </para> <note> <para> - <link linkend="language.variables.superglobals">Superglobal ³¯¦C</link>¦p <varname>$_POST</varname> ¤Î <varname>$_GET</varname> ¦b PHP ª©¥» 4.1.0 ¥H¤W¤~¶}©l´£¨Ñ¡C + <link linkend="language.variables.superglobals">¶W¥þ§½ÅܼÆ</link>©M + <varname>$_POST</varname> ¥H¤Î <varname>$_GET</varname> ¤@¼Ë¡A¦Û + PHP 4.1.0 °_¥i¥Î¡C </para> </note> <para> - ¤W±´£¨ì¡A¦b PHP 4.2.0 ¤§«eªºª©¥»¤¤¡A<link linkend="ini.register-globals">register_globals</link> ªº¹w³]ȬO <emphasis>on</emphasis>¡C¦Ó¦b PHP 3 ¤¤¡A¥¦¥Ã»·¬O on ªº¡C§ÚÌ«ØÄ³©Ò¦³¨Ï¥ÎªÌ¤£n¨Ì¿à¦¹«ü¥O¡A¨Ã¦b½s¼g®É±N¥¦·í§@¬O <emphasis>off</emphasis> ¨Ó³]p±zªºµ{¦¡¡C + ¦p¤W©Ò¥Ü¡A¦b PHP 4.2.0 ¤§«e <link + linkend="ini.register-globals">register_globals</link> + ªºÀq»{ȬO + <emphasis>on</emphasis>¡C¦b PHP 3 ¤¤¨äÈÁ`¬O on¡CPHP + ªÀ°Ï¹ªÀy¤j®a¤£n¨Ì¿à¦¹«ü¥O¡A«ØÄ³¦b½s½X®É°²©w¨ä¬° + <emphasis>off</emphasis>¡C </para> <note> <para> - <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> ²ÕºA«ü¥O·|¼vÅT¨ì Get¡APost ©M Cookie ªºÈ¡C¦pªG¶}±Ò¦¹«ü¥O¡A(It's "PHP!") ªºÈ±NÅܦ¨ (It\'s \"PHP!\")¡C¦¹¸õ¥X¤u§@¦b±N¦r¦ê´¡¤J¸ê®Æ®w«e¬O¥²¶·n°µªº¡C½Ð°Ñ¦Ò <function>addslashes</function>¡A<function>stripslashes</function> ©M <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>¡C + <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> + °t¸m«ü¥O¼vÅT¨ì + Get¡APost ©M Cookie ªºÈ¡C¦pªG¥´¶}¡AÈ (It's "PHP!") ·|¦Û°ÊÂà´«¦¨ + (It\'s \"PHP!\")¡C¼Æ¾Ú®wªº´¡¤J´N»ÝnÂà¸q¡C°Ñ¨£ + <function>addslashes</function>¡A<function>stripslashes</function> ©M + <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>¡C </para> </note> - - <simpara> - PHP ¤]À´±o³B²z³¯¦C¦¡ªºªí³æÅܼơq½Ð°ÑÆ[¬ÛÃöªº <link linkend="faq.html">FAQ</link>¡r¡C±z¥i¥H±N¬ÛÃöªºÅܼÆÂkÃþ¡A©Î¥Î¦¹¥\¯à¨Ó¨ú¦^¦h¤¸¿ï¾Ü¿é¤Jªí³æªºÈ¡C¦b¤U¦C½d¨Ò¤¤¡A§Ú̱Nªí³æ±i¶K¨ì¥¦¦Û¤v¡A¨Ã¦b¶Ç°e«á§â¸ê®ÆÅã¥Ü¥X¨Ó¡G + <simpara> + PHP ¤]À´±oªí³æÅܼƤW¤U¤å¤¤ªº¼Æ²Õ¡]°Ñ¨£<link + linkend="faq.html">¬ÛÃö±`¨£°ÝÃD</link>¡^¡C¨Ò¦p¥i¥H±N¬ÛÃöªºÅܼƽs¦¨²Õ¡A©ÎªÌ¥Î¦¹¯S©Ê±q¦h¿ï¿é¤J®Ø¤¤¨ú±oÈ¡C¨Ò¦p¡A±N¤@Óªí³æ POST µ¹¦Û¤v¨Ã¦b´£¥æ®ÉÅã¥Ü¼Æ¾Ú¡G </simpara> <para> @@ -661,23 +839,25 @@ <![CDATA[ <?php if (isset($_POST['action']) && $_POST['action'] == 'submitted') { - print '<pre>'; + echo '<pre>'; + print_r($_POST); - print '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>'; - print '</pre>'; + echo '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>'; + + echo '</pre>'; } else { ?> -<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> - Name: <input type="text" name="personal[name]"><br> - Email: <input type="text" name="personal[email]"><br> +<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> + Name: <input type="text" name="personal[name]"><br /> + Email: <input type="text" name="personal[email]"><br /> Beer: <br> <select multiple name="beer[]"> <option value="warthog">Warthog</option> <option value="guinness">Guinness</option> - <option value="stuttgarter">Stuttgarter Schwabenbräu</option> - </select><br> - <input type="hidden" name="action" value="submitted"> - <input type="submit" name="submit" value="submit me!"> + <option value="stuttgarter">Stuttgarter Schwabenbr</option> + </select><br /> + <input type="hidden" name="action" value="submitted" /> + <input type="submit" name="submit" value="submit me!" /> </form> <?php } @@ -688,26 +868,29 @@ </para> <para> - PHP 3 ªº³¯¦Cªí³æÅܼƥu¥i¥H¨Ï¥Î¤@ºû³¯¦C¡A¦Ó PHP 4 «h¨S¦³¦¹¨î¡C + ¦b PHP 3 ¤¤¡AÅܼƨϥΤ¤ªº¼Æ²Õ¶È©ó¤@ºû¼Æ²Õ¡C¦b + PHP 4 ¤¤¡A¨S¦³¦¹ºØ¨î¡C </para> <sect3 id="language.variables.external.form.submit"> - <title>IMAGE SUBMIT ÅܼƦWºÙ</title> + <title>IMAGE SUBMIT ÅܼƦW</title> <simpara> - ¦b¶Ç°eªí³æ®É¡A§ÚÌ¥i¥H¨Ï¥Î¤U¦C¼ÐÅÒ±N¼Ð·Çªº´£¥æÁä¥H¹Ï¹³¨Ó¨ú¥N¡G + ·í´£¥æªí³æ®É¡A¥i¥H¥Î¤@´T¹Ï¹³¥N´À¼Ð·Çªº´£¥æ«ö¶s¡A¥ÎÃþ¦ü³o¼Ëªº¼Ð°O¡G </simpara> <informalexample> <programlisting role="html"> <![CDATA[ -<input type="image" src="image.gif" name="sub"> +<input type="image" src="image.gif" name="sub" /> ]]> </programlisting> </informalexample> <simpara> - ·í¨Ï¥ÎªÌ¦b¹Ï¹³ªº¥ô¦ó¤@³B«ö¤@¤U¡A¦ñÀHªºªí³æ´N·|¶Ç°e¨ì¦øªA¾¹¡AÀH¨ä¦Ó¨ÓÁÙªþ¥[¤F¨âÓÅܼơAsub_x ©M sub_y¡C³o¥]§t¤F¨Ï¥ÎªÌ«ö¦b¹Ï¹³ªº®y¼Ð¡C¦³¸gÅ窺¨Ï¥ÎªÌ©Î³\ª¾¹D¥ÑÂsÄý¾¹¶Ç°e¨ÓªºÅܼƦWºÙÀ³¸Ó¥]§t¥y¸¹¡A¦Ó¤£¬O©³½u¡A¦ý PHP ¦Û°Ê¦a±N¥y¸¹Âà´«¦¨¬°©³½u¡C + ·í¥Î¤áÂIÀ»¨ì¹Ï¹³¤¤ªº¬Y³B®É¡A¬ÛÀ³ªºªí³æ·|³Q¶Ç°e¨ìªA°È¾¹¡A¨Ã¥[¤W¨âÓÅÜ¼Æ + sub_x ©M sub_y¡C¥¦Ì¥]§t¤F¥Î¤áÂIÀ»¹Ï¹³ªº§¤¼Ð¡C¦³¸gÅ窺¥Î¤á¥i¯à·|ª`·N¨ì³QÂsÄý¾¹µo°eªº¹ê»ÚÅܼƦW¥]§tªº¬O¤@ÓÂI¦Ó¤£¬O¤U¹º½u¡]§Y + sub.x ©M sub.y¡^¡A¦ý PHP ¦Û°Ê±NÂIÂà´«¦¨¤F¤U¹º½u¡C </simpara> </sect3> @@ -717,40 +900,60 @@ <title>HTTP Cookies</title> <simpara> - PHP µ´¹ï¤ä´© <ulink - url="&spec.cookies;">Netscape³W®æ</ulink>ªº HTTP cookies¡CCookies ¬O¥Î¨Ó±N¸ê®ÆÀx¦s¦b¥Î¤áºÝªºÂsÄý¾¹¤¤¡A¥H«K¤é«á°lÂÜ©ÎÃѧOªð¦^ªº¨Ï¥ÎªÌ¡C±z¥i¥H¥Î <function>setcookie()</function> ¨ç¼Æ¨Ó³]©w cookies¡CCookies ¬O HTTP header ªº¤@³¡¥÷¡A¦]¦¹ SetCookie ¨ç¼Æ¤@©wn¦b¥ô¦ó¸ê®Æ¶Ç°e¥hÂsÄý¾¹«e©I¥s¡C³o©M <function>header()</function> ¨ç¼Æ¦³µÛ¬Û¦Pªº©w¡CCookie ¸ê®Æ¥i¥H¦b <varname>$_COOKIE</varname>¡A<varname>$HTTP_COOKIE_VARS</varname> ¤Î <varname>$_REQUEST</varname> ³¯¦C¤¤¨Ñ¨Ï¥Î¡C¸Ô±¡©M½d¨Ò½Ð°Ñ¦Ò¤â¥Uªº <function>setcookie()</function> ³¡¥÷¡C + PHP ³z©ú¦a¤ä«ù <ulink + url="&spec.cookies;">Netscape ³W½d</ulink>©w¸q¤¤ªº + HTTP cookies¡CCookies + ¬O¤@ºØ¦b»·ºÝÂsÄý¾¹ºÝ¦sÀx¼Æ¾Ú¨Ã¯à°lÂÜ©ÎÃѧO¦A¦¸³X°Ýªº¥Î¤áªº¾÷¨î¡C¥i¥H¥Î + <function>setcookie</function> + ¨ç¦¡³]©w cookies¡CCookies ¬O + HTTP ¸ê°TÀY¤¤ªº¤@³¡¤À¡A¦]¦¹ + SetCookie ¨ç¦¡¥²¶·¦b¦VÂsÄý¾¹µo°e¥ô¦ó¿é¥X¤§«e½Õ¥Î¡C¹ï©ó + <function>header</function> ¨ç¦¡¤]¦³¦P¼Ëªº¨î¡CCookie + ¼Æ¾Ú·|¦b¬ÛÀ³ªº cookie ¼Æ¾Ú¼Æ²Õ¤¤¥i¥Î¡A¨Ò¦p + <varname>$_COOKIE</varname>¡A<varname>$HTTP_COOKIE_VARS</varname> ©M + <varname>$_REQUEST</varname>¡C§ó¦h²Ó¸`©M¨Ò¤l¨£ + <function>setcookie</function> ¤â¥U¶±¡C </simpara> <simpara> - Y±zn±N¦hÓÈ«ü¬£µ¹¤@Ó cookie ÅܼơA¨º±z´Nn¨Ï¥Î³¯¦C¨Ó«ü¬£¤F¡C½d¨Ò¡G + ¦pªGn±N¦hÓȽᵹ¤@Ó cookie ÅܼơA¥²¶·±N¨ä½á¦¨¼Æ²Õ¡C¨Ò¦p¡G </simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php - setcookie("MyCookie[foo]", "Testing 1", time()+3600); - setcookie("MyCookie[bar]", "Testing 2", time()+3600); + setcookie("MyCookie[foo]", 'Testing 1', time()+3600); + setcookie("MyCookie[bar]", 'Testing 2', time()+3600); ?> ]]> </programlisting> </informalexample> - + <simpara> - ³o±N·|«Ø¥ß¨âÓÓ§Oªº cookies¡A¾¨ºÞ²{¦b MyCookie¦b±zªºµ{¦¡¤¤¬O¤@ӳ椸³¯¦C¡C¦pªG±zn¥H¤@Ó cookie «Ø¥ß¦hÓÈ¡A¨º±z¥i¥ý¹ï¨º¨ÇȨϥΠ<function>serialize()</function> ©Î <function>explode()</function> ¨ç¼Æ¡C + ³o±N·|«Ø¥ß¨âÓ³æ¿Wªº cookie¡A¾¨ºÞ MyCookie + ¦b¸}¥»¤¤¬O¤@Ó³æ¤@ªº¼Æ²Õ¡C¦pªG·Q¦b¶È¶È¤@Ó cookie + ¤¤³]©w¦hÓÈ¡A¦Ò¼{¥ý¦bȤW¨Ï¥Î + <function>serialize</function> ©Î + <function>explode</function>¡C </simpara> <simpara> - ¦³¤@ÂI¥²¶·¯d·Nªº¬O¡A¤@Ó cookie ±N·|´À¥NÂsÄý¾¹¤¤¥t¤@Ó¦P¦Wªº cookie¡A°£«D¸Ó cookie ªº¸ô®|©Îºô°ì¦WºÙ¤£¦P¡C©Ò¥H¡A¦b³]pÁʪ«¨®µ{¦¡®É¡A±z³Ì¦n«O«ù¤@Óp¼Æ¾¹¡A¨Ã±N¦¹¼Æ¾Ú¶Ç»¼¤U¥h¡A§Y¡G + ª`·N¦bÂsÄý¾¹¤¤¤@Ó cookie ·|´À´«±¼¤W¤@Ó¦P¦Wªº + cookie¡A°£«D¸ô®|©ÎªÌ°ì¤£¦P¡C¦]¦¹¹ï©óÁʪ«¨®µ{§Ç¥i¥H«O¯d¤@Óp¼Æ¾¹¨Ã¤@°_¶Ç»¼¡A¨Ò¦p¡G </simpara> <example> - <title>¤@Ó <function>setcookie()</function> ªº½d¨Ò</title> + <title>¤@Ó <function>setcookie</function> ªº¥Ü¨Ò</title> <programlisting role="php"> <![CDATA[ <?php -$count++; -setcookie("count", $count, time()+3600); +if (isset($_COOKIE['count'])) { + $count = $_COOKIE['count'] + 1; +} else { + $count = 1; +} +setcookie('count', $count, time()+3600); setcookie("Cart[$count]", $item, time()+3600); ?> ]]> @@ -760,39 +963,45 @@ </sect2> <sect2 id="language.variables.external.dot-in-names"> - <title>¦bÅܼƦW¦r¤¤ªº¥y¸¹ (dots)</title> + <title>ÅܼƦW¤¤ªºÂI</title> <para> - ¤@¯ë¤W¡APHP ¨Ã¤£·|§ó§ï¶Ç¤Jµ{¦¡ªºÅܼƦWºÙ¡CµM¦Ó¡A±z¥²¶·¯d·N¥y¸¹ (.) ¨Ã¤£¬O¤@Ó¦³®Äªº PHP ÅܼƦWºÙ¦r¤¸¡A¥¿¦p¡G - + ³q±`¡APHP ¤£·|§ïÅܶǻ¼µ¹¸}¥»¤¤ªºÅܼƦW¡CµM¦ÓÀ³¸Óª`·N¨ìÂI¡]¥y¸¹¡^¤£¬O + PHP ÅܼƦW¤¤ªº¦Xªk¦r¤¸¡C¦Ü©óì¦]¡A¬Ý¬Ý¡G <programlisting role="php"> <![CDATA[ <?php -$varname.ext; /* invalid variable name */ +$varname.ext; /* «DªkÅܼƦW */ ?> ]]> </programlisting> - ³o®É¡AåªR¾¹¨£¨ìªº¥u¬O¤@Ó¥s°µ <varname>$varname</varname> ªºÅܼơA¸òÀHµÛ¦r¦ê³sµ²¹Bºâ¤l (.)¡A¦A¨Ó¬O¤@ÓµL¤Þ¸¹ªº¦r¦ê¡Gext¡CÅãµM¦a¡A³o¨Ã¤£·|±a¨Ó±z·Qnªºµ²ªG¡C + ³o®É¡A¸ÑªR¾¹¬Ý¨ì¬O¤@Ó¦W¬° + <varname>$varname</varname> + ªºÅܼơA«á±¸òµÛ¤@Ó¦r¤¸¦ê³s±µ¹Bºâ²Å¡A«á±¸òµÛ¤@Ó»r¦r¤¸¦ê¡]§Y¨S¦³¥[¤Þ¸¹ªº¦r¤¸¦ê¡A¥B¤£¤Ç°t¥ô¦ó¤wª¾ªº°·¦W©Î«O¯d¦r¡^'ext'¡C«Ü©úÅã³o¤£¬O·Qnªºµ²ªG¡C </para> <para> - ¥¿¦]¦p¦¹¡APHP ·|¦Û°Êªº±N¶Ç¤JªºÅܼƦWºÙ¤¤ªº¥y¸¹ (.) §ï¬°©³½u (_)¡C + ¥X©ó¦¹ì¦]¡Anª`·N PHP + ±N·|¦Û°Ê±NÅܼƦW¤¤ªºÂI´À´«¦¨¤U¹º½u¡C </para> </sect2> <sect2 id="language.variables.determining-type-of"> - <title>§P©wÅܼƪºÃþ«¬</title> + <title>½T©wÅܼÆÃþ«¬</title> <para> - ¥Ñ©ó PHP ·|¦Û¦æ§PÂ_ÅܼƪºÃþ«¬¡A¨Ã«ö»ÝnÂàÅÜ¥¦ÌªºÃþ«¬¡A¦]¦¹¦³®É¤]Ãø¥H©úÅã¦a§P©w¤@ÓÅܼƦb¬YӮɨ誺Ãþ«¬¡C¦³Å²©ó¦¹¡APHP ´£¨Ñ¤F´XÓ§P©wÅܼÆÃþ«¬ªº¨ç¼Æ¡G<function>gettype()</function>¡B<function>is_array()</function>¡B<function>is_float()</function>¡B<function>is_int()</function>¡B<function>is_object()</function> ¤Î <function>is_string()</function>¡C½Ð°Ñ¾\<link linkend="language.types">Ãþ«¬</link>¤@³¹¡C + ¦]¬° PHP ·|§PÂ_ÅܼÆÃþ«¬¨Ã¦b»Ýn®É¶i¦æÂà´«¡]³q±`±¡ªp¤U¡^¡A¦]¦¹¦b¬Y¤@®É¨èµ¹©wªºÅܼƬO¦óºØÃþ«¬¨Ã¤£©úÅã¡CPHP + ¥]¬A´XӨ禡¥i¥H§PÂ_ÅܼƪºÃþ«¬¡A¨Ò¦p¡G<function>gettype</function>¡A<function>is_array</function>¡A<function>is_float</function>¡A<function>is_int</function>¡A<function>is_object</function> ©M + <function>is_string</function>¡C°Ñ¨£<link + linkend="language.types">Ãþ«¬</link>¤@³¹¡C </para> </sect2> </sect1> - + </chapter> - + <!-- Keep this comment at the end of the file Local variables: mode: sgml
http://cvs.php.net/viewvc.cgi/phpdoc-tw/language/variables.xml?r1=1.4&r2=1.5&diff_format=u Index: phpdoc-tw/language/variables.xml diff -u phpdoc-tw/language/variables.xml:1.4 phpdoc-tw/language/variables.xml:1.5 --- phpdoc-tw/language/variables.xml:1.4 Wed Jul 2 16:08:40 2003 +++ phpdoc-tw/language/variables.xml Wed Apr 25 09:22:49 2007 @@ -1,37 +1,42 @@ <?xml version="1.0" encoding="big5"?> -<!-- $Revision: 1.4 $ --> -<!-- EN-Revision: 1.66 Maintainer: Kevin Status: ready --> +<!-- EN-Revision: 1.90 Maintainer: coldocean Status: ready --> <chapter id="language.variables"> - <title>¦UÃþÅܼÆ</title> - + <title>ÅܼÆ</title> + <sect1 id="language.variables.basics"> - <title>°ò¥»ª¾ÃÑ</title> + <title>°ò¦</title> <simpara> - ©Ò¦³ PHP ªºÅܼƳ£¬O¥H "$" ¬°¶}ºÝ¡A«á¥[ÅܼƦW©Ò²Õ¦¨ªº¡CÅܼƦWºÙ¬O¦³¤j¤p¼g¤§¤Àªº¡C + PHP ¤¤ªºÅܼƥΤ@Ó¿ú¦r¤¸¸¹«á±¸òÅܼƦW¨Óªí¥Ü¡CÅܼƦW¬O°Ï¤À¤j¤p¼gªº¡C </simpara> <para> - PHP ªºÅܼƦWºÙ©M¨ä¥L¼ÐÅÒ¦³µÛ¬Û¦Pªº³W«h¡C¤@Ó¦³®ÄªºÅܼƬO¥Ñ^¤å¦r¥À©Î©³½u¶}©l¡A¸òµÛ¬O¥ô·Nªøµuªº¦r¥À¡B¼Æ¦r©Î©³½u¡C«ö¥¿³W¹Bºâ¦¡¡A¥¦¥i¥Hªí¹F¬°¡G'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*' + ÅܼƦW»P PHP ¤¤¨ä¥¦ªº¼ÐÅÒ¤@¼Ë¿í´`¬Û¦Pªº³W«h¡C¤@Ó¦³®ÄªºÅܼƦW¥Ñ¦r¥À©ÎªÌ¤U¹º½u¶}ÀY¡A«á±¸ò¤W¥ô·N¼Æ¶qªº¦r¥À¡A¼Æ¦r¡A©ÎªÌ¤U¹º½u¡C«ö·Ó¥¿±`ªº¥¿«hªí¥Ü¦¡¡A¥¦±N³Qªíz¬°¡G'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'¡C </para> - + <note> <simpara> - ¦r¥À¬° a-z¡AA-Z¡A¦Ó ASCII ¦r²Å«h±q 127 ¦Ü 255¡q0x7f-0xff¡r¡C + ¦b¦¹©Ò»¡ªº¦r¥À¬O a-z¡AA-Z¡A¥H¤Î ASCII ¦r¤¸±q 127 ¨ì 255¡]0x7f-0xff¡^¡C </simpara> </note> - + + &tip.userlandnaming; + + <para> + ¦³ÃöÅܼƪº¨ç¦¡¸ê°T¨£<link linkend="ref.var">Åܼƨ禡</link>¡C + </para> <para> <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ <?php -$var = "Bob"; -$Var = "Joe"; -echo "$var, $Var"; // outputs "Bob, Joe" -$4site = 'not yet'; // invalid; starts with a number -$_4site = 'not yet'; // valid; starts with an underscore -$täte = 'mansikka'; // valid; 'ä' is (Extended) ASCII 228. +$var = 'Bob'; +$Var = 'Joe'; +echo "$var, $Var"; // ¿é¥X "Bob, Joe" + +$4site = 'not yet'; // «DªkÅܧó¦W¡F¥H¼Æ¦r¶}ÀY +$_4site = 'not yet'; // ¦XªkÅܼƦW¡F¥H¤U¹º½u¶}ÀY +$i¯¸ÂIis = 'mansikka'; // ¦XªkÅܼƦW¡F¥i¥H¥Î¤¤¤å ?> ]]> </programlisting> @@ -39,14 +44,14 @@ </para> <para> - PHP 3 ¤¤¡AÅܼÆÁ`¬O¥ÑÈ«ü¬£¡C¤]´N¬O»¡¡A·í±z±N¤@Ó¹Bºâ¦¡ªºÈ«ü¬£µ¹¤@ÓÅܼƮɡA¾ãÓì©l¹Bºâ¦¡ªºÈ±N·|½Æ»s¨ì¥ØªºÅܼơC¨Ò¦p¡A·í±N¤@ÓÅܼƪºÈ«ü¬£µ¹¥t¤@ÓÅܼƤ§«á¡A§ó§ï·í¤¤ªº¥ô¦ó¤@ÓÅܼƪºÈ¨Ã¤£·|¼vÅT¨ì¥t¤@ÓÅܼƪºÈ¡C·Qnª¾¹D§ó¦h³oÃþªº«ü¬£¡A½Ð°Ñ¾\<link linkend="language.expressions">¹Bºâ¦¡</link>³o¤@³¹¡C + PHP 3 ¤¤¡AÅܼÆÁ`¬O¶ÇÈ«ü¬£¡C¨º¤]´N¬O»¡¡A·í±N¤@Óªí¹F¦¡ªºÈ½á¤©¤@ÓÅܼƮɡA¾ãÓì©lªí¹F¦¡ªºÈ³Q«ü¬£¨ì¥Ø¼ÐÅܼơC³o·N¨ýµÛ¡A¨Ò¦p¡A·í¤@ÓÅܼƪºÈ½á¤©¥t¥~¤@ÓÅܼƮɡA§ïÅܨ䤤¤@ÓÅܼƪºÈ¡A±N¤£·|¼vÅT¨ì¥t¥~¤@ÓÅܼơC¦³Ãö³oºØÃþ«¬ªº«ü¬£¾Þ§@¡A½Ð°Ñ¾\<link linkend="language.expressions">ªí¹F¦¡</link>¤@³¹¡C </para> <para> - PHP 4 «h´£¨Ñ¤F¥t¤@ºØ«ü¬£ÅܼÆÈªº¤èªk¡G<link linkend="language.references">¶Ç§}«ü¬£</link>¡A§Y·sÅܼƥu¬O°Ñ·Óì¨ÓÅܼƤ¤ªºÈ¡A©Î»¡·sªºÅܼƦ¨¬°ì¨ÓÅܼƪº§O¦W¡C¦¹®É¡A§ó§ï¨âÓÅܼƤ¤¥ô¦ó¤@ÓªºÈ³£·|¦P®É§ó§ï¥t¤@ÓªºÈ¡C¥Ñ©ó¨S¦³°õ¦æ¹ê»Úªº½Æ»s¤u§@¡A«ü¬£ªº¾Þ§@¤]¦]¦¹§ó¥[§Ö±¶¡C¤£¹L¡A¥u¦³¦bºò±Kªº°j°é©Î«ü¬£¤j¶qªº<link linkend="language.types.array">°}¦C</link>©Î<link linkend="language.types.object">ª«¥ó</link>®É¤~·|¹îı³t«×ªº´£¤É¡C + PHP 4 ´£¨Ñ¤F¥t¥~¤@ºØ¤è¦¡µ¹Åܼƫü¬£¡G<link linkend="language.references">¤Þ¥Î«ü¬£</link>¡C³o·N¨ýµÛ·sªºÅܼÆÂ²³æªº¤Þ¥Î¡]´«¨¥¤§¡A¡u¦¨¬°¨ä§O¦W¡v ©ÎªÌ ¡u«ü¦V¡v¡^¤Fì©lÅܼơC§ï°Ê·sªºÅܼƱN¼vÅT¨ìì©lÅܼơA¤Ï¤§¥çµM¡C </para> <para> - ¨Ï¥Î¶Ç§}«ü¬£¡A¥u¶·¦b³Q°Ñ·ÓªºìÅܼƫe¥[¤W¤@Ó (&) ªº²Å¸¹¡C¨Ò¦p¡A¤U¦Cµ{¦¡½X¦b¨Ï¥Î¶Ç§}«ü¬£«á¿é¥X 'My name is Bob' ¨â¦¸¡C - + ¨Ï¥Î¤Þ¥Î«ü¬£¡A²³æ¦a±N¤@Ó & + ²Å¸¹¥[¨ì±Nn«ü¬£ªºÅܼƫe¡]·½Åܼơ^¡C¨Ò¦p¡A¤U¦C¥N½X¤ùÂ_±N¿é¥X¡uMy name is Bob¡v¨â¦¸¡G <informalexample> <programlisting role="php"> <![CDATA[ @@ -63,7 +68,7 @@ </para> <para> - »Ýnª`·Nªº¬O¥u¦³¯u¥¿©R¦WªºÅܼƤ~¥i¥H¥Î¨Ó¶i¦æ¶Ç§}«ü¬£¡C + ¦³¤@ÂI«n¨Æ¶µ¥²¶·«ü¥X¡A¨º´N¬O¥u¦³¦³¦W¦rªºÅܼƤ~¥i¥H¤Þ¥Î«ü¬£¡C <informalexample> <programlisting role="php"> <![CDATA[ @@ -83,51 +88,105 @@ </programlisting> </informalexample> </para> + <para> + ÁöµM¦b PHP ¤¤¨Ã¤£»Ýnªì©l¤ÆÅܼơA¦ý³o¬OÓ¦n²ßºD¡C¥¼ªì©l¤ÆªºÅܼƨ㦳¨äÃþ«¬ªºÀq»{È - + &false;¡A¹s¡AªÅ¦r¤¸¦ê©ÎªÌªÅ¼Æ²Õ¡C + </para> + <para> + <example> + <title>¥¼ªì©l¤ÆÅܼƪºÀq»{È</title> + <programlisting role="php"> +<![CDATA[ +<?php +echo ($unset_bool ? "true" : "false"); // false +$unset_int += 25; // 0 + 25 => 25 +echo $unset_string . "abc"; // "" . "abc" => "abc" +$unset_array[3] = "def"; // array() + array(3 => "def") => array(3 => "def") +?> +]]> + </programlisting> + </example> + </para> + <para> + ¨Ì¿à¥¼ªì©l¤ÆÅܼƪºÀq»{Ȧb¬Y¨Ç±¡ªp¤U·|¦³°ÝÃD¡A¨Ò¦p§â¤@Ó¤å¥ó¥]§t¨ì¥t¤@Ó¤§¤¤®É¸I¤W¬Û¦PªºÅܼƦW¡C¥t¥~§â + <link linkend="ini.register-globals">register_globals</link> ¥´¶}¬O¤@Ó¥Dnªº<link + linkend="security.globals">¦w¥þÁô±w</link>¡C<link linkend="e-notice">E_NOTICE</link> + ¯Å§Oªº¿ù»~·|¦b¸I¤W¥¼ªì©l¤ÆªºÅܼƮɵo¥X¡A¦ý¬O¦b¦V¤@Ó¥¼ªì©l¤Æªº¼Æ²Õªþ¥[³æ¤¸®É¤£·|¡C<function>isset</function> + »y¨¥µ²ºc¥i¥H¥Î¨ÓÀË´ú¤@ÓÅܼƬO§_¤w³Qªì©l¤Æ¡C + </para> </sect1> <sect1 id="language.variables.predefined"> - <title>¹w³]ªºÅܼÆ</title> - + <title>¹w©w¸qÅܼÆ</title> + <simpara> - PHP ¬°¥¦°õ¦æªºµ{¦¡´£¨Ñ¤F¤j¶qªº¹w³]ÅܼơCµM¦Ó¡A¥Ñ¤_¦³³\¦hÅܼƦ]¨Ì¿à¨ä©Ò°õ¦æªº¦øªA¾¹ºØÃþ¡Bª©¥»¡B¦w¸Ëµ¥±¡ªp¦Ó©w¡A¦]¦¹Ãø¥H¦³§¹¾ãªº³Q°O¸ü¤U¨Ó¡C§ó¦³¤@¨ÇÅܼƦb<link linkend="features.commandline">«ü¥O¦æ</link>ªº¼Ò¦¡¹B¦æ®É¬O¤£¯à¨Ï¥Îªº¡C¦³Ãö³o¨ÇÅܼƪº¦Cªí¡A½Ð°Ñ¦Ò<link linkend="reserved.variables">«O¯dªº¥ý«e©w¸qÅܼÆ</link>¤@¸`¡C + PHP ´£¨Ñ¤F¤j¶qªº¹w©w¸qÅܼơC¥Ñ©ó³\¦hÅܼƨ̿à©ó¹B¦æªºªA°È¾¹ªºª©¥»©M³]¸m¡A¤Î¨ä¥¦¦]¯À¡A©Ò¥H¨Ã¨S¦³¸Ô²Óªº»¡©ú¤åÀÉ¡C¤@¨Ç¹w©w¸qÅܼƦb + PHP ¥H<link linkend="features.commandline">©R¥O¦æ</link>§Î¦¡¹B¦æ®É¨Ã¤£¥Í®Ä¡C¦³Ãö³o¨ÇÅܼƪº¸Ô²Ó¦Cªí¡A½Ð°Ñ¾\<link + linkend="reserved.variables">¹w©w¸qÅܼÆ</link>¤@³¹¡C </simpara> <warning> <simpara> - PHP 4.2.0 ¥H«áªºª©¥»¡A<link linkend="ini.register-globals">register_globals</link> «ü¥Oªº¹w³]ȬO <emphasis>off</emphasis>¡C³o¬O¤@Ó«¤jªº§ïÅÜ¡C±N register_globals ªºÈ¹w³]¬° <emphasis>off</emphasis> ·|¼vÅT¨ì¹w³]ÅܼƦb¥þ°ì½d³ò¤ºªº¦³®Ä©Ê¡C¨Ò¦p¡An±o¨ì <varname>DOCUMENT_ROOT</varname> ªºÈ¡AÀ³¨Ï¥Î <varname>$_SERVER['DOCUMENT_ROOT']</varname> ¦Ó¤£¬O <varname>$DOCUMENT_ROOT</varname>¡B¨Ï¥Î <varname>$_GET['id']</varname> ¥H¨ú±o URL <literal>http://www.example.com/test.php?id=3</literal> ¤¤ id ªºÈ¡A¦Ó¤£¬O¥Î <varname>$id</varname>¡B©Î¨Ï¥Î <varname>$_ENV['HOME']</varname> ¨Ó¨ú¥N <varname>$HOME</varname>¡C + PHP 4.2.0 ¥H¤Î«áÄòª©¥»¤¤¡APHP «ü¥O <link + linkend="ini.register-globals">register_globals</link> ªºÀq»{Ȭ° + <emphasis>off</emphasis>¡C³o¬O PHP ªº¤@Ó¥DnÅܤơCÅý register_globals ªºÈ¬° + <emphasis>off</emphasis> ±N¼vÅT¨ì¹w©w¸qÅܼƶ°¦b¥þ§½½d³ò¤ºªº¦³®Ä©Ê¡C¨Ò¦p¡A¬°¤F±o¨ì + <varname>DOCUMENT_ROOT</varname> ªºÈ¡A±N¥²¶·¨Ï¥Î + <varname>$_SERVER['DOCUMENT_ROOT']</varname> ¥N´À + <varname>$DOCUMENT_ROOT</varname>¡A¤S¦p¡A¨Ï¥Î + <varname>$_GET['id']</varname> ¨Ó¥N´À <varname>$id</varname> ±q URL + <literal>http://www.example.com/test.php?id=3</literal> ¤¤Àò¨ú + id È¡A¥ç©Î¨Ï¥Î <varname>$_ENV['HOME']</varname> ¨Ó¥N´À + <varname>$HOME</varname> Àò¨úÀô¹ÒÅÜ¼Æ HOME ªºÈ¡C + </simpara> + <simpara> + §ó¦h¬ÛÃö¸ê°T¡A½Ð¾\Ū <link + linkend="ini.register-globals">register_globals</link> + ªº°t¸m¶µ±ø¥Ø¡A¦w¥þ¤@³¹¤¤ªº<link + linkend="security.globals">¨Ï¥Î Register Globals</link>¡A¥H¤Î PHP + <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ©M + <ulink url="&url.php.release4.2.0;">4.2.0</ulink> ªºµo¦æ³q§i¡C </simpara> <simpara> - §ó¦h»P¦¹§ó§ï¬ÛÃöªº¸ê®Æ¥i¦b <link linkend="ini.register-globals">register_globals</link> ªº³]¸m¤@¸`¡B<link linkend="security.registerglobals">¨Ï¥Î Register Globals</link> ¤¤ªº¦w¥þ³¹¡A©Î¦b <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ¤Î <ulink url="&url.php.release4.2.0;">4.2.0</ulink> ªºµo¦æ³q§i¤¤¨ú±o¡C - </simpara> - <simpara> - §ÚÌ«ØÄ³±z¨Ï¥Î PHP ´£¨Ñªº«O¯d¹w³]ÅܼơA¦p <link linkend="language.variables.superglobals">superglobal ³¯¦C</link>¡C + ¦pªG¦³¥i¥Îªº PHP ¹w©w¸qÅܼƨº³Ì¦n¥Î¡A¦p<link + linkend="language.variables.superglobals">¶W¥þ§½ÅܼÆ</link>¡C </simpara> </warning> <simpara> - ¦Û 4.1.0 ª©¥»°_¡APHP ÃB¥~´£¨Ñ¤F¤@®M¹w³]°}¦C¡A·í¤¤¥]§t¤F¨Ó¦Û¦øªA¾¹¡q¦p¾A¥Î¡r¡BÀô¹Ò¡B¤Î¨Ï¥ÎªÌ¿é¤JªºÅܼơC³o¨Ç·s³¯¦C¤ñ¸û¯S§O¡A¦]¦¹¥¦Ì·|¦Û°Ê¦a³]¬°¥þ°ì¡A§Y¥i¥H¦b©Ò¦³½d³ò¤º¨Ï¥Î¡C¥¿¦]¦p¦¹¡A¥¦Ì¤]³QºÙ¬° 'autoglobals' ©Î 'superglobals'¡C¡qPHP ©|¥¼¦³¨Ï¥ÎªÌ¦Û¦æ©w¸q superglobals ªº¥\¯à¡C¡r§Ú̱N¦b¤U±¦C¥X superglobals¡A¦ýnª¾¹D¥¦Ìªº¤º®e©M PHP ¹w³]Åܼƪº²`¤J°Q½×¡A½Ð°Ñ¦Ò<link linkend="reserved.variables">«O¯dªº¥ý«e©w¸qÅܼÆ</link>¤@¸`¡C¦¹¥~¡A±z¤]·|¯d·N¦³ªº¹w³]ÅÜ¼Æ (<varname>$HTTP_*_VARS</varname>) ¤´µM¦s¦b¡C - - &avail.register-long-arrays; + ±q PHP 4.1.0 ¶}©l¡APHP ´£¨Ñ¤F¤@®Mªþ¥[ªº¹w©w¼Æ²Õ¡A³o¨Ç¼Æ²ÕÅܼƥ]§t¤F¨Ó¦Û web + ªA°È¾¹¡]¦pªG¥i¥Î¡^¡A¹B¦æÀô¹Ò¡A©M¥Î¤á¿é¤Jªº¼Æ¾Ú¡C³o¨Ç¼Æ²Õ«D±`¯S§O¡A¥¦Ì¦b¥þ§½½d³ò¤º¦Û°Ê¥Í®Ä¡A¨Ò¦p¡A¦b¥ô¦ó½d³ò¤º¦Û°Ê¥Í®Ä¡C¦]¦¹³q±`³QºÙ¬°¦Û°Ê¥þ§½Åܼơ]autoglobals¡^©ÎªÌ¶W¥þ§½Åܼơ]superglobals¡^¡C¡]PHP + ¤¤¨S¦³¥Î¤á¦Û©w¸q¶W¥þ§½Åܼƪº¾÷¨î¡C¡^¶W¥þ§½ÅܼÆÃ¹¦C©ó¤U¤å¤¤¡F¦ý¬O¬°¤F±o¨ì¥¦Ìªº¤º®e©MÃö©ó + PHP ¹w©w¸qÅܼƪº¶i¤@¨Bªº°Q½×¥H¤Î¥¦Ìªº¥»½è¡A½Ð°Ñ¾\<link + linkend="reserved.variables">¹w©w¸qÅܼÆ</link>¡C¦Ó¥B¡A§A¤]±Nª`·N¨ìªº¹w©w¸q¼Æ²Õ¡]<varname>$HTTP_*_VARS</varname>¡^¤´Â¦s¦b¡C&avail.register-long-arrays; </simpara> - + <note> <title>¥iÅÜÅܼÆ</title> <para> - Superglobals ¤£¯à·í§@<link linkend="language.variables.variable">¥iÅÜÅܼÆ</link>¨Ó¨Ï¥Î¡C + ¶W¯Å¥þ§½ÅܼƤ£¯à³Q¥Î§@<link linkend="language.variables.variable">¥iÅÜÅܼÆ</link>¡C + </para> + </note> + <note> + <para> + ¾¨ºÞ¶W¥þ§½ÅܼƩM HTTP_*_VARS + ¦P®É¦s¦b¡C¦ý¬O¥L̨䣬O¦P¤@ÓÅܼơA©Ò¥H§ïÅܤ@ÓªºÈ¨Ã¤£·|¹ï¥t¤@Ó²£¥Í¼vÅT¡C </para> </note> <para> - ¦pªG¬Y¨Ç <link linkend="ini.variables-order">variables_order</link> ¤¤ªºÅܼƨS¦³³Q³]©w¡A¥¦Ì¬Û¹ïªº PHP ¹w³]³¯¦C¤]±N·|¬OªÅªº¡C + ¦pªG¬Y¨Ç <link linkend="ini.variables-order">variables_order</link> + ¤¤ªºÅܼƨS¦³³]©w¡A¥¦Ìªº¹ïÀ³ªº PHP ¹w©w¸q¼Æ²Õ¤]¬OªÅªº¡C </para> <variablelist id="language.variables.superglobals"> - <title>PHP ªº Superglobals</title> + <title>PHP ¶W¥þ§½ÅܼÆ</title> <varlistentry> <term><link linkend="reserved.variables.globals">$GLOBALS</link></term> <listitem> <simpara> - ¥]§t¤@Ó«ü¦Vµ{¦¡¥þ°ì½d³ò¤º¥i¥ÎÅܼƪº¯Á¤Þ¡C¦¹³¯¦Cªº¯Á¤ÞÁ䬰¥þ°ìÅܼƪº¦WºÙ¡C<varname>$GLOBALS</varname> ¦Û PHP 3 ¶}©l´N¤w¦s¦b¡C + ¥]§t¤@ӤޥΫü¦V¨CÓ·í«e¸}¥»ªº¥þ§½½d³ò¤º¦³®ÄªºÅܼơC¸Ó¼Æ²ÕªºÁä¦W¬°¥þ§½Åܼƪº¦WºÙ¡C±q + PHP 3 ¶}©l¦s¦b <varname>$GLOBALS</varname> ¼Æ²Õ¡C </simpara> </listitem> </varlistentry> @@ -135,7 +194,8 @@ <term><link linkend="reserved.variables.server">$_SERVER</link></term> <listitem> <simpara> - ¥Ñºô¶¦øªA¾¹³]©wªºÅܼƩΥثeªºµ{¦¡©Ò°õ¦æªºÀô¹Ò²£¥ÍªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_SERVER_VARS</varname> ³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + ÅÜ¼Æ¥Ñ web ªA°È¾¹³]©w©ÎªÌª½±µ»P·í«e¸}¥»ªº°õ¦æÀô¹Ò¬ÛÃöÁp¡CÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_SERVER_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -143,7 +203,8 @@ <term><link linkend="reserved.variables.get">$_GET</link></term> <listitem> <simpara> - ³q¹L HTTP GET ´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_GET_VARS</varname> ³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + ¸g¥Ñ URL ½Ð¨D´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_GET_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -151,7 +212,8 @@ <term><link linkend="reserved.variables.post">$_POST</link></term> <listitem> <simpara> - ³q¹L HTTP POST ´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_POST_VARS</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + ¸g¥Ñ HTTP POST ¤èªk´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_POST_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -159,7 +221,8 @@ <term><link linkend="reserved.variables.cookies">$_COOKIE</link></term> <listitem> <simpara> - ³q¹L HTTP cookies ´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_COOKIE_VARS</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + ¸g¥Ñ HTTP Cookies ¤èªk´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_COOKIE_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -167,7 +230,8 @@ <term><link linkend="reserved.variables.files">$_FILES</link></term> <listitem> <simpara> - ³q¹L HTTP POST ÀɮפW¶Ç´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_POST_FILES</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C¸Ô±¡½Ð°Ñ¾\ <link linkend="features.file-upload.post-method">POST ¤W¶Ç¤è¦¡</link>¡C + ¸g¥Ñ HTTP POST ¤å¥ó¤W¶Ç¦Ó´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_POST_FILES</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C¸Ô²Ó¸ê°T½Ð°Ñ¾\ <link linkend="features.file-upload.post-method">POST ¤èªk¤W¶Ç</link>¡C </simpara> </listitem> </varlistentry> @@ -175,7 +239,8 @@ <term><link linkend="reserved.variables.environment">$_ENV</link></term> <listitem> <simpara> - °õ¦æÀô¹Ò´£¨Ñµ¹µ{¦¡ªºÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_ENV_VARS</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C + °õ¦æÀô¹Ò´£¥æ¦Ü¸}¥»ªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ <varname>$HTTP_ENV_VARS</varname> + ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C </simpara> </listitem> </varlistentry> @@ -183,25 +248,34 @@ <term><link linkend="reserved.variables.request">$_REQUEST</link></term> <listitem> <simpara> - ³q¹L GET¡APOST ©M COOKIE ¿é¤J¤è¦¡´£¨Ñµ¹µ{¦¡ªºÅܼơB¤]¥¿¦]¦p¦¹¡A¤£È±o«H¥ô¡C¦¹³¯¦C¤¤Åܼƪº¦s¦b»P§_¤Î¦¸§Ç¬O¨M©w©ó <link linkend="ini.variables-order">variables_order</link> ªº³]©w¡CPHP 4.1.0 ¤§«eªºª©¥»¨Ã¨S¦³Ãþ¦ü¦¹³¯¦CªºÅܼơC½Ð¦P®É°Ñ¾\ <function>import_request_variables</function>¡C + ¸g¥Ñ GET¡APOST ©M COOKIE + ¾÷¨î´£¥æ¦Ü¸}¥»ªºÅܼơA¦]¦¹¸Ó¼Æ²Õ¨Ã¤£È±o«H¥ô¡C©Ò¦³¥]§t¦b¸Ó¼Æ²Õ¤¤ªºÅܼƪº¦s¦b»P§_¥H¤ÎÅܼƪº¶¶§Ç§¡«ö·Ó + &php.ini; ¤¤ªº <link linkend="ini.variables-order">variables_order</link> + °t¸m«ü¥Ü¨Ó©w¸q¡C¦¹¼Æ²Õ¦b PHP 4.1.0 ¤§«e¨S¦³ª½±µ¹ïÀ³ªºª©¥»¡C°Ñ¨£ + <function>import_request_variables</function>¡C </simpara> <caution> <simpara> - ¥Ñ PHP 4.3.0 ª©¶}©l¡A<varname>$_REQUEST</varname> ³¯¦C¤w¤£¦A§t¦³ FILE ªº¸ê°T¡C + ¦Û PHP 4.3.0 °_¡A<varname>$_FILES</varname> ¤¤ªº¤å¥ó¸ê°T¤£¦A¦s¦b©ó + <varname>$_REQUEST</varname> ¤¤¡C </simpara> </caution> <note> <simpara> - ¦b<link linkend="features.commandline">«ü¥O¦æ</link>¼Ò¦¡¤U°õ¦æ®É¡A¥¦¨Ã<emphasis>¤£</emphasis>¥]§t <varname>argv</varname> ©M <varname>argc</varname> ¶µ¥Ø¡C¦¹¨â¶µ¥Ø¥u¦b <varname>$_SERVER</varname> ³¯¦C¤¤¥X²{¡C + ·í¹B¦æ©ó<link linkend="features.commandline">©R¥O¦æ</link>¼Ò¦¡®É¡A¦¹¼Æ²Õ±N<emphasis>¤£·|</emphasis>¥]§t + <varname>argv</varname> ©M <varname>argc</varname> ±ø¥Ø¡F¥¦Ì¤w¸g¦s¦b©ó¼Æ²Õ + <varname>$_SERVER</varname> ¤¤¡C </simpara> - </note> + </note> </listitem> </varlistentry> <varlistentry> <term><link linkend="reserved.variables.session">$_SESSION</link></term> <listitem> <simpara> - ¥Ø«e©Mµ{¦¡ª`¥U¤Fªº session ÅܼơC¨ä©Ê½èÃþ¦ü¦³ªº <varname>$HTTP_SESSION_VARS</varname>³¯¦C¡AÁöµM¥Ø«eÁÙ¥i¥H¨Ï¥Î¡A¦ý¤£³Q«ØÄ³¡C¸Ô±¡½Ð°Ñ¾\ <link linkend="ref.session">Session ³B²z¨ç¼Æ</link>¤@¸`¡C + ·í«eµù¥Uµ¹¸}¥»·|¸ÜªºÅܼơCÃþ¦ü©óÂÂ¼Æ²Õ + <varname>$HTTP_SESSION_VARS</varname> ¼Æ²Õ¡]¨ÌµM¦³®Ä¡A¦ý¤Ï¹ï¨Ï¥Î¡^¡C¸Ô²Ó¸ê°T¡A½Ð°Ñ·Ó + <link linkend="ref.session">Session ³B²z¨ç¦¡</link>³¹¸`¡C </simpara> </listitem> </varlistentry> @@ -214,32 +288,35 @@ <title>Åܼƽd³ò</title> <simpara> - Åܼƪº½d³ò¥u¬O¦b¨ä©Ò©w¸qªºªÅ¶¡¤º¦s¦b¡C¦b¤j³¡¥÷ªº±¡ªp¤U¡APHP ªºÅܼƥu¦³¤@Ó³æ¤@ªº½d³ò¡C³o³æ¤@ªº½d³ò¤]¥]§t¤F¥H include ©M require ¤è¦¡¤Þ¤JªºÀɮסC¨Ò¦p¡G + Åܼƪº½d³ò§Y¥¦©w¸qªº¤W¤U¤åI´º¡]¤]´N¬O¥¦ªº¥Í®Ä½d³ò¡^¡C¤j³¡¤Àªº + PHP Åܼƥu¦³¤@Ó³æ¿Wªº½d³ò¡C³oÓ³æ¿Wªº½d³ò¸ó«×¦P¼Ë¥]§t¤F + include ©M require ¤Þ¤Jªº¤å¥ó¡C¨Ò¦p¡G </simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php $a = 1; -include "b.inc"; +include 'b.inc'; ?> ]]> </programlisting> </informalexample> <simpara> - ¨Ò¤l¤¤¡AÅÜ¼Æ <varname>$a</varname> ¤]¦s¦b¤_³Q¥]§t¤Jªºµ{¦¡ <filename>b.inc</filename> ¤¤¡C¦ý¬O¦b¨Ï¥ÎªÌ¦Ûqªº¨ç¼Æ¤¤¡A¤@Ӱϰì©Êªº¨ç¼Æ½d³ò±N³Q¤Þ¥Î¡C¥ô¦ó¦b¨ç¼Æ¤º¨Ï¥ÎªºÅܼƦb¹w³]ªº±¡ªp¤U¥u§½©ó¸Ó¨ç¼Æªº½d³ò¤º¡C¨Ò¦p¡G + ³o¸ÌÅÜ¼Æ <varname>$a</varname> ±N·|¦b¥]§t¤å¥ó + <filename>b.inc</filename> ¤¤¥Í®Ä¡C¦ý¬O¡A¦b¥Î¤á¦Û©w¸q¨ç¦¡¤¤¡A¤@Ó§½³¡¨ç¦¡½d³ò±N³Q¤Þ¤J¡C¥ô¦ó¥Î©ó¨ç¦¡¤º³¡ªºÅܼƫö¯Ê¬Ù±¡ªp±N³Q¨î¦b§½³¡¨ç¦¡½d³ò¤º¡C¨Ò¦p¡G </simpara> - + <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ <?php -$a = 1; /* global scope */ +$a = 1; /* global scope */ function Test() -{ - echo $a; /* reference to local scope variable */ -} +{ + echo $a; /* reference to local scope variable */ +} Test(); ?> @@ -248,11 +325,22 @@ </informalexample> <simpara> - ³oÓµ{¦¡¤£·|¿é¥X¥ô¦óªF¦è¡A¦]¬° echo z¥y¨Ï¥Î¤F¥»°Ï°ìª©¥»ªº <varname>$a</varname> ÅܼơA¦Ó¸Ó¥»°Ï°ìÅܼƨå¼´¿³Q¤À°t¤@ÓÈ¡C§A·|µo²{³o©M C »y¨¥ªº°µªk¤£¦P¡A¦]¬° C ªº¥þ°ìÅܼƬO¦Û°Êªº´£¨Ñµ¹¦U¨ç¼Æ¡A°£«D¦b¥»°ì©w¸q¤¤«ü©úºM¾P¡C¦¹°µªk¥i¯à·|¤ÞP¤@¨Ç°ÝÃD¡A¦p¨Ï¥ÎªÌ¤£·V¦a§ó§ï¤F¥þ°ìÅܼƪºÈ¡C¦b PHP ¤¤¡A¥þ°ìÅܼƦb¥»°ì¨Ï¥Î«e¥²¶·¥ý«Å§G¬°¥þ°ì¡C¨Ò¤l¡G + ³oÓ¸}¥»¤£·|¦³¥ô¦ó¿é¥X¡A¦]¬° echo »y¥y¤Þ¥Î¤F¤@Ó§½³¡ª©¥»ªºÅÜ¼Æ + <varname>$a</varname>¡A¦Ó¥B¦b³oÓ½d³ò¤º¡A¥¦¨Ã¨S¦³³Q«ü¬£¡C§A¥i¯àª`·N¨ì + PHP ªº¥þ§½ÅܼƩM C »y¨¥¦³¤@ÂIÂI¤£¦P¡A¦b C + »y¨¥¤¤¡A¥þ§½ÅܼƦb¨ç¦¡¤¤¦Û°Ê¥Í®Ä¡A°£«D³Q§½³¡ÅܼÆÂл\¡C³o¥i¯à¤Þ°_¤@¨Ç°ÝÃD¡A¦³¨Ç¤H¥i¯àº©¤£¸g¤ßªº§ïÅܤ@Ó¥þ§½ÅܼơCPHP + ¤¤¥þ§½ÅܼƦb¨ç¦¡¤¤¨Ï¥Î®É¥²¶·¥Ó©ú¬°¥þ§½¡C </simpara> - <informalexample> - <programlisting role="php"> + <sect2 id="language.variables.scope.global"> + <title>global ÃöÁä¦r</title> + <simpara> + º¥ý¡A¤@ӨϥΠ<literal>global</literal> ªº¨Ò¤l¡G + </simpara> + <para> + <example> + <title>¨Ï¥Î global</title> + <programlisting role="php"> <![CDATA[ <?php $a = 1; @@ -263,25 +351,30 @@ global $a, $b; $b = $a + $b; -} +} Sum(); echo $b; ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - ¤Wz¨Ò¤l±N·|¿é¥X "3"¡C¦b¨ç¼Æ¤º«Å§G <varname>$a</varname> ¤Î <varname>$b</varname> ¬°¥þ°ì«á¡A©Ò¦³¯A¤Î¸Ó¨âÓÅܼƪº¨Ï¥Î±N¦Û°Ê«ü¦V¥þ°ìªºª©¥»¡CPHP ¨S¦³©w¤@Ó¨ç¼Æ¥i¥H¨Ï¥Îªº¥þ°ìÅܼƪº¼Æ¶q¡C - </simpara> + <simpara> + ¥H¤W¸}¥»ªº¿é¥X±N¬O¡u3¡v¡C¦b¨ç¦¡¤¤¥Ó©ú¤F¥þ§½ÅÜ¼Æ + <varname>$a</varname> ©M <varname>$b</varname>¡A¥ô¦óÅܼƪº©Ò¦³¤Þ¥ÎÅܼƳ£·|«ü¦V¨ì¥þ§½ÅܼơC¹ï©ó¤@Ө禡¯à°÷¥Ó©úªº¥þ§½Åܼƪº³Ì¤jӼơAPHP ¨S¦³¨î¡C + </simpara> - <simpara> - ²Ä¤GºØ¦s¨ú¥þ°ì½d³ò¤¤ªºÅܼƤèªk¬O¨Ï¥Î¤@ PHP ¯S§O©w¸qªº³¯¦C¡G<varname>$GLOBALS</varname>¡C«e±ªº¨Ò¤l¥i¥H«¼g¬°¡G - </simpara> + <simpara> + ¦b¥þ§½½d³ò¤º³X°ÝÅܼƪº²Ä¤GÓ¿ìªk¡A¬O¥Î¯S®íªº PHP ¦Û©w¸q + <varname>$GLOBALS</varname> ¼Æ²Õ¡C«e±ªº¨Ò¤l¥i¥H¼g¦¨¡G + </simpara> - <informalexample> - <programlisting role="php"> + <para> + <example> + <title>¨Ï¥Î <varname>$GLOBALS</varname> ´À¥N global</title> + <programlisting role="php"> <![CDATA[ <?php $a = 1; @@ -289,53 +382,62 @@ function Sum() { - $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; -} + $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b']; +} Sum(); echo $b; ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - <varname>$GLOBALS</varname> ¬O¤@ÓÃöÁp³¯¦C (associative array)¡A¥þ°ìÅܼƪº¦W§Y¬°¯Á¤ÞÁä¡A¦Ó¸ÓÅܼƪº¤º®e§Y¬°³¯¦CªºÈ¡C¦³§_¯d·N¨ì <varname>$GLOBALS</varname> ¦b¥ô¦ó¤@Ó½d³ò³£¥X²{¡H¨º¬O¦]¬° $GLOBALS ¬O¤@Ó<link linkend="language.variables.superglobals">superglobal</link>¡C³o¬O¤@ӥܽd superglobals ±j¤j¥\¯àªº¨Ò¤l¡G - </simpara> - <para> - - <informalexample> - <programlisting role="php"> + <simpara> + ¦b <varname>$GLOBALS</varname> + ¼Æ²Õ¤¤¡A¨C¤@ÓÅܼƬ°¤@Ó¤¸¯À¡AÁä¦W¹ïÀ³ÅܼƦW¡AȹïÀ³Åܼƪº¤º®e¡C<varname>$GLOBALS</varname> + ¤§©Ò¥H¦b¥þ§½½d³ò¤º¦s¦b¡A¬O¦]¬° $GLOBALS ¬O¤@Ó<link + linkend="language.variables.superglobals">¶W¥þ§½ÅܼÆ</link>¡C¥H¤U½d¨ÒÅã¥Ü¤F¶W¥þ§½Åܼƪº¥Î³B¡G + </simpara> + + <para> + <example> + <title>ºt¥Ü¶W¥þ§½ÅܼƩM§@¥Î°ìªº¨Ò¤l</title> + <programlisting role="php"> <![CDATA[ <?php function test_global() { - // Most predefined variables aren't "super" and require - // 'global' to be available to the functions local scope. + // ¤j¦h¼Æªº¹w©w¸qÅܼƨä£ "super"¡A¥¦Ì»Ýn¥Î 'global' ÃöÁä¦r¨Ó¨Ï¥¦Ì¦b¨ç¦¡ªº¥»¦a°Ï°ì¤¤¦³®Ä¡C global $HTTP_POST_VARS; - - print $HTTP_POST_VARS['name']; - - // Superglobals are available in any scope and do - // not require 'global'. Superglobals are available - // as of PHP 4.1.0 - print $_POST['name']; + + echo $HTTP_POST_VARS['name']; + + // Superglobals ¦b¥ô¦ó½d³ò¤º³£¦³®Ä¡A¥¦Ì¨Ã¤£»Ýn 'global' Án©ú¡CSuperglobals ¬O¦b PHP 4.1.0 ¤Þ¤Jªº¡C + echo $_POST['name']; } ?> ]]> - </programlisting> - </informalexample> - </para> - - <simpara> - Åܼƽd³òªº¥t¤@Ó«n¥\¯à¬°<emphasis>ÀRºA</emphasis>ÅܼơCÀRºAÅܼƥu¦b¥»°ì¨ç¼Æ½d³ò¤º¦s¦b¡A¦ý¬O·íµ{¦¡°õ¦æÂ÷¶}¦¹½d³ò®É¡A¥¦¨Ã¤£·|³à¥¢¥¦ªºÈ¡C¬Ý¬Ý¤U±ªº¨Ò¤l¡G - </simpara> + </programlisting> + </example> + </para> + </sect2> - <informalexample> - <programlisting role="php"> + <sect2 id="language.variables.scope.static"> + <title>¨Ï¥ÎÀRºAÅܼÆ</title> + + <simpara> + Åܼƽd³òªº¥t¤@Ó«n¯S©Ê¬O<emphasis>ÀRºAÅܼÆ</emphasis>¡]static + variable¡^¡CÀRºAÅܼƶȦb§½³¡¨ç¦¡°ì¤¤¦s¦b¡A¦ý·íµ{§Ç°õ¦æÂ÷¶}¦¹§@¥Î°ì®É¡A¨äȨ䣥ᥢ¡C¬Ý¬Ý¤U±ªº¨Ò¤l¡G + </simpara> + + <para> + <example> + <title>ºt¥Ü»ÝnÀRºAÅܼƪº¨Ò¤l</title> + <programlisting role="php"> <![CDATA[ <?php -function Test () +function Test() { $a = 0; echo $a; @@ -343,15 +445,23 @@ } ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - ¦¹¨ç¼Æ¨S¦³¤°»ò¥Î³B¡A¦]¨C¤@¦¸°õ¦æ¥¦®É¡A¥¦±N <varname>$a</varname> ³]¬° <literal>0</literal> µM«á¦C¦L¥X "0"¡C<varname>$a</varname>++ ¼W¥[¤F <varname>$a</varname> ªºÈ¡A¦ý¨Ã¨S¦³¹ê»Ú¥Î³~¦]¬°¤@¥¹Â÷¶}¤F¸Ó¨ç¼Æ¡AÅÜ¼Æ <varname>$a</varname> ¤]ÀH¤§®ø¥¢¡Cn³]p¤@Ó¦³¥Îªº¡B¤£·|¥á¥¢·í«ep¼Æªºp¼Æ¨ç¼Æ¡A§ÚÌ¥i¥H±N <varname>$a</varname>«Å§G¬°ÀRºA¡G - </simpara> + <simpara> + ¥»¨ç¦¡¨S¤°»ò¥Î³B¡A¦]¬°¨C¦¸½Õ¥Î®É³£·|±N + <varname>$a</varname> ªºÈ³]¬° <literal>0</literal> ¨Ã¿é¥X + "0"¡C±NÅܼƥ[¤@ªº <varname>$a</varname>++ + ¨S¦³§@¥Î¡A¦]¬°¤@¥¹°h¥X¥»¨ç¦¡«hÅÜ¼Æ + <varname>$a</varname> ´N¤£¦s¦b¤F¡Cn¼g¤@Ó¤£·|¥á¥¢¥»¦¸p¼ÆÈªºp¼Æ¨ç¦¡¡An±NÅÜ¼Æ + <varname>$a</varname> ©w¸q¬°ÀRºAªº¡G + </simpara> - <informalexample> - <programlisting role="php"> + <para> + <example> + <title>¨Ï¥ÎÀRºAÅܼƪº¨Ò¤l</title> + <programlisting role="php"> <![CDATA[ <?php function Test() @@ -362,19 +472,25 @@ } ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - ²{¦b¡A¨C·í¨ç¼Æ Test() ³Q©I¥s®É¡A¥¦·|¦C¦L¥X <varname>$a</varname> ªºÈ¡AµM«á¥[¤W¤@¡C - </simpara> + <simpara> + ²{¦b¡A¨C¦¸½Õ¥Î Test() ¨ç¦¡³£·|¿é¥X + <varname>$a</varname> ªºÈ¨Ã¥[¤@¡C + </simpara> - <simpara> - ÀRºAÅܼƤ]´£¨Ñ¤@ºØ³B²z»¼°j¨ç¼Æªº¤èªk¡C»¼°j¨ç¼Æ¬O¤@ºØ©I¥s¦Û¤vªº¨ç¼Æ¡C½s¼g»¼°j¨ç¼Æ®É¥²¶·¯d·N¡A¦]¬°Y½s¼g¿ù»~¡A¥¦¦³¥i¯à·|µL©w¦a»¼°j¡C±z¥²¶·½T©w¨¬°÷ªº¤è¦¡¨Ó²×¤î»¼°j¡C¤U¦C²³æªº¨ç¼Æ±N»¼°j¦a¼Æ¨ì 10¡A§Q¥ÎÀRºAÅÜ¼Æ <varname>$count</varname> ¨ÓÂ_©w¤°»ò®ÉÔ°±¤î¡G - </simpara> + <simpara> + ÀRºAÅܼƤ]´£¨Ñ¤F¤@ºØ³B²z»¼Âk¨ç¦¡ªº¤èªk¡C»¼Âk¨ç¦¡¬O¤@ºØ½Õ¥Î¦Û¤vªº¨ç¦¡¡C¼g»¼Âk¨ç¦¡®Én¤p¤ß¡A¦]¬°¥i¯à·|µL½a»¼Âk¤U¥h¡C¥²¶·½T«O¦³¥R¤Àªº¤èªk¨Ó¤¤¤î»¼Âk¡C¤@¤U³oÓ²³æªº¨ç¦¡»¼Âkp¼Æ¨ì + 10¡A¨Ï¥ÎÀRºAÅÜ¼Æ + <varname>$count</varname> ¨Ó§PÂ_¦ó®É°±¤î¡G + </simpara> - <informalexample> - <programlisting role="php"> + <para> + <example> + <title>ÀRºAÅܼƻP»¼Âk¨ç¦¡</title> + <programlisting role="php"> <![CDATA[ <?php function Test() @@ -384,21 +500,56 @@ $count++; echo $count; if ($count < 10) { - Test (); + Test(); } $count--; } ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </example> + </para> - <simpara> - ÅX°Ê <literal>PHP 4</literal> ªº Zend Engine 1 ¬O¥H°Ñ·Óªº¤è¦¡¨Ó¹ê²{ <literal>static</literal> ©M <literal>global</literal> ªº¡C¨Ò¦p¡A¤@Ó¯u¥¿ªº¥þ°ìÅܼƨϥΠ<literal>global</literal> ¤è¦¡¤Þ¶i¤@Ó¨ç¼Æ½d³ò®É¹ê»Ú¤W´N¬O«Ø¥ß¤F¤@Ó¥þ°ìÅܼƪº°Ñ·Ó¡C³o±N¾ÉP¤@¨Ç·N·Q¤£¨ìªº¦æ¬°¡A¥¿¦p¤U¦C¨Ò¤l©Òz¡G - </simpara> + <note> + <para> + ÀRºAÅܼƥi¥H«ö·Ó¤W±ªº¨Ò¤lÁn©ú¡C¦pªG¦bÁn©ú¤¤¥Îªí¹F¦¡ªºµ²ªG¹ï¨ä«ü¬£·|¾ÉP¸ÑªR¿ù»~¡C + </para> + <para> + <example> + <title>Án©úÀRºAÅܼÆ</title> + <programlisting role="php"> +<![CDATA[ +<?php +function foo(){ + static $int = 0; // correct + static $int = 1+2; // wrong (as it is an expression) + static $int = sqrt(121); // wrong (as it is an expression too) - <informalexample> - <programlisting role="php"> + $int++; + echo $int; +} +?> +]]> + </programlisting> + </example> + </para> + </note> + </sect2> + + <sect2 id="language.variables.scope.references"> + <title>¥þ§½©MÀRºAÅܼƪº¤Þ¥Î</title> + <simpara> + ¦b Zend ¤ÞÀº 1 ¥N¡A¥¦ÅX°Ê¤F PHP4¡A¹ï©óÅܼƪº + <link linkend="language.variables.scope.static">static</link> ©M + <link linkend="language.variables.scope.global">global</link> + ©w¸q¬O¥H <link linkend="language.references">references</link> + ªº¤è¦¡¹ê²{ªº¡C¨Ò¦p¡A¦b¤@Ө禡°ì¤º³¡¥Î + <literal>global</literal> + »y¥y¾É¤Jªº¤@Ó¯u¥¿ªº¥þ§½Åܼƹê»Ú¤W¬O«Ø¥ß¤F¤@Ó¨ì¥þ§½Åܼƪº¤Þ¥Î¡C³o¦³¥i¯à¾ÉP¹w®Æ¤§¥~ªº¦æ¬°¡A¦p¥H¤U¨Ò¤l©Òºt¥Üªº¡G + </simpara> + + <informalexample> + <programlisting role="php"> <![CDATA[ <?php function test_global_ref() { @@ -417,34 +568,35 @@ var_dump($obj); ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </informalexample> - <simpara> - °õ¦æ³oÓ¨Ò¤l±N·|¾ÉP¤U¦Cªº¿é¥X¡G - </simpara> + <simpara> + °õ¦æ¥H¤W¨Ò¤l·|¾ÉP¦p¤U¿é¥X¡G + </simpara> - <screen> + <screen> NULL object(stdClass)(0) { } - </screen> + </screen> - <simpara> - <literal>static</literal> ³¯z¦¡¤]·|¾ÉP¦P¼Ëªº¿é¥X¡C°Ñ·Ó¨Ã¨S¦³³QÀRºA¦aÀx¦s¡G - </simpara> - - <informalexample> - <programlisting role="php"> + <simpara> + Ãþ¦üªº¦æ¬°¤]¾A¥Î©ó + <literal>static</literal> »y¥y¡C¤Þ¥Î¨Ã¤£¬OÀRºA¦a¦sÀxªº¡G + </simpara> + + <informalexample> + <programlisting role="php"> <![CDATA[ <?php function &get_instance_ref() { static $obj; - echo "Static object: "; + echo 'Static object: '; var_dump($obj); if (!isset($obj)) { - // Assign a reference to the static variable + // ±N¤@ӤޥΫü¬£µ¹ÀRºAÅÜ¼Æ $obj = &new stdclass; } $obj->property++; @@ -454,10 +606,10 @@ function &get_instance_noref() { static $obj; - echo "Static object: "; + echo 'Static object: '; var_dump($obj); if (!isset($obj)) { - // Assign the object to the static variable + // ±N¤@ӹﹳ«ü¬£µ¹ÀRºAÅÜ¼Æ $obj = new stdclass; } $obj->property++; @@ -471,14 +623,14 @@ $still_obj2 = get_instance_noref(); ?> ]]> - </programlisting> - </informalexample> + </programlisting> + </informalexample> - <simpara> - °õ¦æ¦¹¨Ò¤l±N¾ÉP¤U¦Cªº¿é¥X¡G - </simpara> + <simpara> + °õ¦æ¥H¤W¨Ò¤l·|¾ÉP¦p¤U¿é¥X¡G + </simpara> - <screen> + <screen> Static object: NULL Static object: NULL @@ -487,48 +639,50 @@ ["property"]=> int(1) } - </screen> - - <simpara> - ¤Wz¨Ò¤l¥Ü½d¤F¦b«ü¬£¤@Ó°Ñ·Óµ¹¤©¤@ÓÀRºAÅܼƫá¡A·í±z²Ä¤G¦¸©I¥s <literal>&get_instance_ref()</literal> ¨ç¼Æ®É¡A¥¦¬O<emphasis>¤£·|</emphasis>°O¦í¤§«eªºÈªº¡C - </simpara> - + </screen> + <simpara> + ¤W¨Òºt¥Ü¤F·í§â¤@ӤޥΫü¬£µ¹¤@ÓÀRºAÅܼƮɡA²Ä¤G¦¸½Õ¥Î + <literal>&get_instance_ref()</literal> ¨ç¦¡®É¨äȨèS¦³³Q<emphasis>°O¦í</emphasis>¡C + </simpara> + </sect2> </sect1> <sect1 id="language.variables.variable"> <title>¥iÅÜÅܼÆ</title> <simpara> - ¦³®ÉÔ¡A¥i¥H¨Ï¥Î¥iÅÜÅܼƷ|¥O¨ì¤u§@§ó¥[¤è«K¡C¤]´N¬O´N¡A¤@ÓÅܼƪº¦W¥i¥H³Q°ÊºAªº³]©w©M¨Ï¥Î¡C¤@Ó´¶³qªºÅܼƬO¥H¤U¦Cªº¤èªk³]©w¡G + ¦³®ÉԨϥΥiÅÜÅܼƦW¬O«Ü¤è«Kªº¡C´N¬O»¡¡A¤@ÓÅܼƪºÅܼƦW¥i¥H°ÊºAªº³]¸m©M¨Ï¥Î¡C¤@Ó´¶³qªºÅܼƳq¹LÁn©ú¨Ó³]¸m¡A¨Ò¦p¡G </simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php -$a = "hello"; +$a = 'hello'; ?> ]]> </programlisting> </informalexample> <simpara> - ¤@Ó¥iÅÜÅܼƬO¥H¥t¤@ÓÅܼƪºÈ§@¬°¥¦ªºÅܼƦW¡C¦b¤Wz¨Ò¤l¤¤¡A¥un¥[¨âÓ $ ¦b <emphasis>hello</emphasis> ªº«e±´N¥i§â¥¦·í§@¬O¤@ÓÅܼƪº¦W¨Ó¨Ï¥Î¤F¡C§Y¡G + ¤@Ó¥iÅÜÅܼÆÀò¨ú¤F¤@Ó´¶³qÅܼƪºÈ§@¬°³oÓ¥iÅÜÅܼƪºÅܼƦW¡C¦b¤W±ªº¨Ò¤l¤¤ + <emphasis>hello</emphasis> ¨Ï¥Î¤F¨âÓ¬ü¤¸²Å¸¹¡]$¡^¥H«á¡A´N¥i¥H§@¬°¤@Ó¥iÅÜÅܼƪºÅܼƤF¡C¨Ò¦p¡G </simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php -$$a = "world"; +$$a = 'world'; ?> ]]> </programlisting> </informalexample> <simpara> - ³o®É¡A¦³¨âÓÅܼƳQ©w¸qµM«áÀx¦s¦b PHP ªº²Å¸¹ªí¤¤¡G§t¦³ "hello" ªº <varname>$a</varname> ¤Î§t¦³ "world" ªº <varname>$hello</varname>¡C©Ò¥H¡A¦¹±Ôz¡G + ³o®É¡A¨âÓÅܼƳ£³Q©w¸q¤F¡G<varname>$a</varname> ªº¤º®e¬O¡uhello¡v¨Ã¥B + <varname>$hello</varname> ªº¤º®e¬O¡uworld¡v¡C¦]¦¹¡A¥i¥Hªíz¬°¡G </simpara> <informalexample> @@ -542,7 +696,7 @@ </informalexample> <simpara> - »P¤U¦C³o¥y¦³µÛ¦P¼Ëªº¿é¥X¡G + ¥H¤U¼gªk§ó·Ç½T¨Ã¥B·|¿é¥X¦P¼Ëªºµ²ªG¡G </simpara> <informalexample> @@ -556,29 +710,40 @@ </informalexample> <simpara> - §Y¡A¥¦Ì³£¿é¥X¡G<computeroutput>hello world</computeroutput>¡C + ¥¦Ì³£·|¿é¥X¡G<computeroutput>hello world</computeroutput>¡C </simpara> <simpara> - ¬°¤Fn¦b³¯¦C¤¤¨Ï¥Î¥iÅÜÅܼơA±z¥²¶·º¥ý¸Ñ¨M¤@Ó¼Ò½kªº°ÝÃD¡C¤ñ¤è»¡¡A¦pªG±z¨Ï¥Î <varname>$$a[1]</varname>¡A¨ºåªR¾¹¥²¶·ª¾¹D±z¬O·Q·í <varname>$a[1]</varname> ¬OÅܼƨӨϥΡAÁÙ¬O·í <varname>$$a</varname> ¬OÅܼơAµM«á«ü¦V¨ºÓÅܼƪº²Ä [1] Ó¯Á¤Þ¡C¸Ñ¨M¤Wz¼Ò½k°ÝÃDªº»yªk¬O¡G²Ä¤@Ó±¡ªp¨Ï¥Î <varname>${$a[1]}</varname>¡B²Ä¤GÓ±¡ªp¨Ï¥Î <varname>${$a}[1]</varname>¡C + n±N¥iÅÜÅÜ¼Æ¥Î©ó¼Æ²Õ¡A¥²¶·¸Ñ¨M¤@Ó¼Ò¸W¨â¥iªº°ÝÃD¡C³o´N¬O·í¼g¤U + <varname>$$a[1]</varname> + ®É¡A¸ÑªR¾¹»Ýnª¾¹D¬O·Qn + <varname>$a[1]</varname> + §@¬°¤@ÓÅܼƩO¡AÁÙ¬O·Qn + <varname>$$a</varname> + §@¬°¤@ÓÅܼƨèú¥X¸ÓÅܼƤ¤¯Á¤Þ¬° [1] + ªºÈ¡C¸Ñ¨M¦¹°ÝÃDªº»yªk¬O¡A¹ï²Ä¤@ºØ±¡ªp¥Î + <varname>${$a[1]}</varname>¡A¹ï²Ä¤GºØ±¡ªp¥Î + <varname>${$a}[1]</varname>¡C </simpara> - + <warning> <simpara> - ¥²¶·¯d·Nªº¬O¡A¥iÅÜÅܼƬO¤£¯à¨Ï¥Î©ó PHP ªº <link linkend="language.variables.superglobals">Superglobal ³¯¦C</link>¡C³oªí¥Ü±z¤£¯à¨Ï¥Î <varname>${$_GET}</varname> ³o¼Ëªº±Ôz¡C¦pªG±z¯uªº·Q¨Ï¥Î superglobals ©Mªº <varname>HTTP_*_VARS</varname>¡A±z¥i¥H¹Á¸Õ¥H<link linkend="language.references">°Ñ·Ó</link>ªº¤è¦¡¨Ï¥Î¡C + ª`·N¡A¦b PHP ªº¨ç¦¡©MÃþªº¤èªk¤¤¡A<link + linkend="language.variables.superglobals">¶W¥þ§½ÅܼÆ</link>¤£¯à¥Î§@¥iÅÜÅܼơC </simpara> </warning> - + </sect1> <sect1 id="language.variables.external"> - <title>¨Ó¦Û PHP ¥H¥~ªºÅܼÆ</title> - + <title>¨Ó¦Û PHP ¤§¥~ªºÅܼÆ</title> + <sect2 id="language.variables.external.form"> - <title>HTML ªí³æ (GET ©MPOST)</title> + <title>HTML ªí³æ¡]GET ©M POST¡^</title> <simpara> - ·í¤@¥÷ªí³æ¶Ç°eµ¹ PHP µ{¦¡®É¡Aªí³æ¤ºªº¸ê°T±N¦Û°Ê´£¨Ñµ¹¸Óµ{¦¡¡C§Ú̦³«Ü¦h¤èªk¦s¨ú³o¨Ç¸ê°T¡A½d¨Ò¡G + ·í¤@Óªí³æÅ饿µ¹ PHP + ¸}¥»®É¡Aªí³æ¤¤ªº¸ê°T·|¦Û°Ê¦b¸}¥»¤¤¥i¥Î¡C¦³«Ü¦h¤èªk³X°Ý¦¹¸ê°T¡A¨Ò¦p¡G </simpara> <para> @@ -586,10 +751,10 @@ <title>¤@Ó²³æªº HTML ªí³æ</title> <programlisting role="html"> <![CDATA[ -<form action="foo.php" method="post"> - Name: <input type="text" name="username"><br> - Email: <input type="text" name="email"><br> - <input type="submit" name="submit" value="Submit me!"> +<form action="foo.php" method="POST"> + Name: <input type="text" name="username"><br /> + Email: <input type="text" name="email"><br /> + <input type="submit" name="submit" value="Submit me!" /> </form> ]]> </programlisting> @@ -597,61 +762,74 @@ </para> <para> - ®Ú¾Ú±zªº¦w¸Ë¤è¦¡©MÓ¤H°¾¦n¡APHP ´£¨Ñ¦hºØ¤è¦¡¦s¨ú HTML ªí³æ¤¤ªº¸ê®Æ¡C¤@¨Ç¨Ò¤l¦p¡G + ®Ú¾Ú¯S©wªº³]¸m©MÓ¤Hªº³ß¦n¡A¦³«Ü¦hºØ¤èªk³X°Ý HTML + ªí³æ¤¤ªº¼Æ¾Ú¡C¨Ò¦p¡G </para> - + <para> <example> - <title>¦s¨ú¤@Ó¥H POST ¤è¦¡¶Ç°eªºÂ²³æ HTML ªí³æ</title> + <title>±q¤@Ó²³æªº POST HTML ªí³æ³X°Ý¼Æ¾Ú</title> <programlisting role="html"> <![CDATA[ -<?php -// Available since PHP 4.1.0 - - print $_POST['username']; - print $_REQUEST['username']; - +<?php +// ¦Û PHP 4.1.0 °_¥i¥Î + echo $_POST['username']; + echo $_REQUEST['username']; import_request_variables('p', 'p_'); - print $p_username; - -// Available since PHP 3. As of PHP 5.0.0, these long predefined -// variables can be disabled with the register_long_arrays directive. - - print $HTTP_POST_VARS['username']; - -// Available if the PHP directive register_globals = on. As of -// PHP 4.2.0 the default value of register_globals = off. -// Using/relying on this method is not preferred. - - print $username; + echo $p_username; +// ¦Û PHP 3 °_¥i¥Î¡C¦Û PHP 5.0.0 °_¡A³o¨Ç¸ûªøªº¹w©w¸qÅÜ¼Æ +// ¥i¥Î register_long_arrays «ü¥OÃö³¬¡C + echo $HTTP_POST_VARS['username']; +// ¦pªG PHP «ü¥O register_globals = on ®É¥i¥Î¡C¤£¹L¦Û +// PHP 4.2.0 °_Àq»{Ȭ° register_globals = off¡C +// ¤£´£Ò¨Ï¥Î/¨Ì¿à¦¹ºØ¤èªk¡C + echo $username; ?> ]]> </programlisting> </example> </para> <para> - ¨Ï¥Î GET ¤è¦¡¶Ç°eªºªí³æ¥ÎªkÃþ¦ü¡A¥u¤£¹L¨Ï¥Î¦X¾Aªº¥ý«e©w¸qªº¨ç¼Æ¡CGET ¤]¥i¨Ï¥Î¦b¬d¸ß¦r¦ê (QUERY_STRING) ¡qURL ¤¤°Ý¸¹ '?' «á±ªº¸ê°T¡r¡C¨Ò¦p¡A<literal>http://www.example.com/test.php?id=3</literal> §t¦³¥H <varname>$_GET['id']</varname> ¤è¦¡¦s¨úªº GET ¸ê®Æ¡C½Ð°Ñ¦Ò <link linkend="reserved.variables.request">$_REQUEST</link> ©M <function>import_request_variables()</function>¡C + ¨Ï¥Î GET ªí³æ¤]Ãþ¦ü¡A¥u¤£¹Ln¥Î¾A·íªº GET ¹w©w¸qÅܼơCGET + ¤]¾A¥Î©ó + QUERY_STRING¡]URL ¤¤¦b¡u?¡v¤§«áªº¸ê°T¡^¡C¦]¦¹¡AÁ|¨Ò»¡¡A<literal>http://www.example.com/test.php?id=3</literal> + ¥]§t¦³¥i¥Î <varname>$_GET['id']</varname> + ³X°Ýªº GET ¼Æ¾Ú¡C°Ñ¨£ + <link linkend="reserved.variables.request">$_REQUEST</link> ©M + <function>import_request_variables</function>¡C </para> <note> <para> - <link linkend="language.variables.superglobals">Superglobal ³¯¦C</link>¦p <varname>$_POST</varname> ¤Î <varname>$_GET</varname> ¦b PHP ª©¥» 4.1.0 ¥H¤W¤~¶}©l´£¨Ñ¡C + <link linkend="language.variables.superglobals">¶W¥þ§½ÅܼÆ</link>©M + <varname>$_POST</varname> ¥H¤Î <varname>$_GET</varname> ¤@¼Ë¡A¦Û + PHP 4.1.0 °_¥i¥Î¡C </para> </note> <para> - ¤W±´£¨ì¡A¦b PHP 4.2.0 ¤§«eªºª©¥»¤¤¡A<link linkend="ini.register-globals">register_globals</link> ªº¹w³]ȬO <emphasis>on</emphasis>¡C¦Ó¦b PHP 3 ¤¤¡A¥¦¥Ã»·¬O on ªº¡C§ÚÌ«ØÄ³©Ò¦³¨Ï¥ÎªÌ¤£n¨Ì¿à¦¹«ü¥O¡A¨Ã¦b½s¼g®É±N¥¦·í§@¬O <emphasis>off</emphasis> ¨Ó³]p±zªºµ{¦¡¡C + ¦p¤W©Ò¥Ü¡A¦b PHP 4.2.0 ¤§«e <link + linkend="ini.register-globals">register_globals</link> + ªºÀq»{ȬO + <emphasis>on</emphasis>¡C¦b PHP 3 ¤¤¨äÈÁ`¬O on¡CPHP + ªÀ°Ï¹ªÀy¤j®a¤£n¨Ì¿à¦¹«ü¥O¡A«ØÄ³¦b½s½X®É°²©w¨ä¬° + <emphasis>off</emphasis>¡C </para> <note> <para> - <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> ²ÕºA«ü¥O·|¼vÅT¨ì Get¡APost ©M Cookie ªºÈ¡C¦pªG¶}±Ò¦¹«ü¥O¡A(It's "PHP!") ªºÈ±NÅܦ¨ (It\'s \"PHP!\")¡C¦¹¸õ¥X¤u§@¦b±N¦r¦ê´¡¤J¸ê®Æ®w«e¬O¥²¶·n°µªº¡C½Ð°Ñ¦Ò <function>addslashes</function>¡A<function>stripslashes</function> ©M <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>¡C + <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> + °t¸m«ü¥O¼vÅT¨ì + Get¡APost ©M Cookie ªºÈ¡C¦pªG¥´¶}¡AÈ (It's "PHP!") ·|¦Û°ÊÂà´«¦¨ + (It\'s \"PHP!\")¡C¼Æ¾Ú®wªº´¡¤J´N»ÝnÂà¸q¡C°Ñ¨£ + <function>addslashes</function>¡A<function>stripslashes</function> ©M + <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>¡C </para> </note> - - <simpara> - PHP ¤]À´±o³B²z³¯¦C¦¡ªºªí³æÅܼơq½Ð°ÑÆ[¬ÛÃöªº <link linkend="faq.html">FAQ</link>¡r¡C±z¥i¥H±N¬ÛÃöªºÅܼÆÂkÃþ¡A©Î¥Î¦¹¥\¯à¨Ó¨ú¦^¦h¤¸¿ï¾Ü¿é¤Jªí³æªºÈ¡C¦b¤U¦C½d¨Ò¤¤¡A§Ú̱Nªí³æ±i¶K¨ì¥¦¦Û¤v¡A¨Ã¦b¶Ç°e«á§â¸ê®ÆÅã¥Ü¥X¨Ó¡G + <simpara> + PHP ¤]À´±oªí³æÅܼƤW¤U¤å¤¤ªº¼Æ²Õ¡]°Ñ¨£<link + linkend="faq.html">¬ÛÃö±`¨£°ÝÃD</link>¡^¡C¨Ò¦p¥i¥H±N¬ÛÃöªºÅܼƽs¦¨²Õ¡A©ÎªÌ¥Î¦¹¯S©Ê±q¦h¿ï¿é¤J®Ø¤¤¨ú±oÈ¡C¨Ò¦p¡A±N¤@Óªí³æ POST µ¹¦Û¤v¨Ã¦b´£¥æ®ÉÅã¥Ü¼Æ¾Ú¡G </simpara> <para> @@ -661,23 +839,25 @@ <![CDATA[ <?php if (isset($_POST['action']) && $_POST['action'] == 'submitted') { - print '<pre>'; + echo '<pre>'; + print_r($_POST); - print '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>'; - print '</pre>'; + echo '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>'; + + echo '</pre>'; } else { ?> -<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> - Name: <input type="text" name="personal[name]"><br> - Email: <input type="text" name="personal[email]"><br> +<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> + Name: <input type="text" name="personal[name]"><br /> + Email: <input type="text" name="personal[email]"><br /> Beer: <br> <select multiple name="beer[]"> <option value="warthog">Warthog</option> <option value="guinness">Guinness</option> - <option value="stuttgarter">Stuttgarter Schwabenbräu</option> - </select><br> - <input type="hidden" name="action" value="submitted"> - <input type="submit" name="submit" value="submit me!"> + <option value="stuttgarter">Stuttgarter Schwabenbr</option> + </select><br /> + <input type="hidden" name="action" value="submitted" /> + <input type="submit" name="submit" value="submit me!" /> </form> <?php } @@ -688,26 +868,29 @@ </para> <para> - PHP 3 ªº³¯¦Cªí³æÅܼƥu¥i¥H¨Ï¥Î¤@ºû³¯¦C¡A¦Ó PHP 4 «h¨S¦³¦¹¨î¡C + ¦b PHP 3 ¤¤¡AÅܼƨϥΤ¤ªº¼Æ²Õ¶È©ó¤@ºû¼Æ²Õ¡C¦b + PHP 4 ¤¤¡A¨S¦³¦¹ºØ¨î¡C </para> <sect3 id="language.variables.external.form.submit"> - <title>IMAGE SUBMIT ÅܼƦWºÙ</title> + <title>IMAGE SUBMIT ÅܼƦW</title> <simpara> - ¦b¶Ç°eªí³æ®É¡A§ÚÌ¥i¥H¨Ï¥Î¤U¦C¼ÐÅÒ±N¼Ð·Çªº´£¥æÁä¥H¹Ï¹³¨Ó¨ú¥N¡G + ·í´£¥æªí³æ®É¡A¥i¥H¥Î¤@´T¹Ï¹³¥N´À¼Ð·Çªº´£¥æ«ö¶s¡A¥ÎÃþ¦ü³o¼Ëªº¼Ð°O¡G </simpara> <informalexample> <programlisting role="html"> <![CDATA[ -<input type="image" src="image.gif" name="sub"> +<input type="image" src="image.gif" name="sub" /> ]]> </programlisting> </informalexample> <simpara> - ·í¨Ï¥ÎªÌ¦b¹Ï¹³ªº¥ô¦ó¤@³B«ö¤@¤U¡A¦ñÀHªºªí³æ´N·|¶Ç°e¨ì¦øªA¾¹¡AÀH¨ä¦Ó¨ÓÁÙªþ¥[¤F¨âÓÅܼơAsub_x ©M sub_y¡C³o¥]§t¤F¨Ï¥ÎªÌ«ö¦b¹Ï¹³ªº®y¼Ð¡C¦³¸gÅ窺¨Ï¥ÎªÌ©Î³\ª¾¹D¥ÑÂsÄý¾¹¶Ç°e¨ÓªºÅܼƦWºÙÀ³¸Ó¥]§t¥y¸¹¡A¦Ó¤£¬O©³½u¡A¦ý PHP ¦Û°Ê¦a±N¥y¸¹Âà´«¦¨¬°©³½u¡C + ·í¥Î¤áÂIÀ»¨ì¹Ï¹³¤¤ªº¬Y³B®É¡A¬ÛÀ³ªºªí³æ·|³Q¶Ç°e¨ìªA°È¾¹¡A¨Ã¥[¤W¨âÓÅÜ¼Æ + sub_x ©M sub_y¡C¥¦Ì¥]§t¤F¥Î¤áÂIÀ»¹Ï¹³ªº§¤¼Ð¡C¦³¸gÅ窺¥Î¤á¥i¯à·|ª`·N¨ì³QÂsÄý¾¹µo°eªº¹ê»ÚÅܼƦW¥]§tªº¬O¤@ÓÂI¦Ó¤£¬O¤U¹º½u¡]§Y + sub.x ©M sub.y¡^¡A¦ý PHP ¦Û°Ê±NÂIÂà´«¦¨¤F¤U¹º½u¡C </simpara> </sect3> @@ -717,40 +900,60 @@ <title>HTTP Cookies</title> <simpara> - PHP µ´¹ï¤ä´© <ulink - url="&spec.cookies;">Netscape³W®æ</ulink>ªº HTTP cookies¡CCookies ¬O¥Î¨Ó±N¸ê®ÆÀx¦s¦b¥Î¤áºÝªºÂsÄý¾¹¤¤¡A¥H«K¤é«á°lÂÜ©ÎÃѧOªð¦^ªº¨Ï¥ÎªÌ¡C±z¥i¥H¥Î <function>setcookie()</function> ¨ç¼Æ¨Ó³]©w cookies¡CCookies ¬O HTTP header ªº¤@³¡¥÷¡A¦]¦¹ SetCookie ¨ç¼Æ¤@©wn¦b¥ô¦ó¸ê®Æ¶Ç°e¥hÂsÄý¾¹«e©I¥s¡C³o©M <function>header()</function> ¨ç¼Æ¦³µÛ¬Û¦Pªº©w¡CCookie ¸ê®Æ¥i¥H¦b <varname>$_COOKIE</varname>¡A<varname>$HTTP_COOKIE_VARS</varname> ¤Î <varname>$_REQUEST</varname> ³¯¦C¤¤¨Ñ¨Ï¥Î¡C¸Ô±¡©M½d¨Ò½Ð°Ñ¦Ò¤â¥Uªº <function>setcookie()</function> ³¡¥÷¡C + PHP ³z©ú¦a¤ä«ù <ulink + url="&spec.cookies;">Netscape ³W½d</ulink>©w¸q¤¤ªº + HTTP cookies¡CCookies + ¬O¤@ºØ¦b»·ºÝÂsÄý¾¹ºÝ¦sÀx¼Æ¾Ú¨Ã¯à°lÂÜ©ÎÃѧO¦A¦¸³X°Ýªº¥Î¤áªº¾÷¨î¡C¥i¥H¥Î + <function>setcookie</function> + ¨ç¦¡³]©w cookies¡CCookies ¬O + HTTP ¸ê°TÀY¤¤ªº¤@³¡¤À¡A¦]¦¹ + SetCookie ¨ç¦¡¥²¶·¦b¦VÂsÄý¾¹µo°e¥ô¦ó¿é¥X¤§«e½Õ¥Î¡C¹ï©ó + <function>header</function> ¨ç¦¡¤]¦³¦P¼Ëªº¨î¡CCookie + ¼Æ¾Ú·|¦b¬ÛÀ³ªº cookie ¼Æ¾Ú¼Æ²Õ¤¤¥i¥Î¡A¨Ò¦p + <varname>$_COOKIE</varname>¡A<varname>$HTTP_COOKIE_VARS</varname> ©M + <varname>$_REQUEST</varname>¡C§ó¦h²Ó¸`©M¨Ò¤l¨£ + <function>setcookie</function> ¤â¥U¶±¡C </simpara> <simpara> - Y±zn±N¦hÓÈ«ü¬£µ¹¤@Ó cookie ÅܼơA¨º±z´Nn¨Ï¥Î³¯¦C¨Ó«ü¬£¤F¡C½d¨Ò¡G + ¦pªGn±N¦hÓȽᵹ¤@Ó cookie ÅܼơA¥²¶·±N¨ä½á¦¨¼Æ²Õ¡C¨Ò¦p¡G </simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php - setcookie("MyCookie[foo]", "Testing 1", time()+3600); - setcookie("MyCookie[bar]", "Testing 2", time()+3600); + setcookie("MyCookie[foo]", 'Testing 1', time()+3600); + setcookie("MyCookie[bar]", 'Testing 2', time()+3600); ?> ]]> </programlisting> </informalexample> - + <simpara> - ³o±N·|«Ø¥ß¨âÓÓ§Oªº cookies¡A¾¨ºÞ²{¦b MyCookie¦b±zªºµ{¦¡¤¤¬O¤@ӳ椸³¯¦C¡C¦pªG±zn¥H¤@Ó cookie «Ø¥ß¦hÓÈ¡A¨º±z¥i¥ý¹ï¨º¨ÇȨϥΠ<function>serialize()</function> ©Î <function>explode()</function> ¨ç¼Æ¡C + ³o±N·|«Ø¥ß¨âÓ³æ¿Wªº cookie¡A¾¨ºÞ MyCookie + ¦b¸}¥»¤¤¬O¤@Ó³æ¤@ªº¼Æ²Õ¡C¦pªG·Q¦b¶È¶È¤@Ó cookie + ¤¤³]©w¦hÓÈ¡A¦Ò¼{¥ý¦bȤW¨Ï¥Î + <function>serialize</function> ©Î + <function>explode</function>¡C </simpara> <simpara> - ¦³¤@ÂI¥²¶·¯d·Nªº¬O¡A¤@Ó cookie ±N·|´À¥NÂsÄý¾¹¤¤¥t¤@Ó¦P¦Wªº cookie¡A°£«D¸Ó cookie ªº¸ô®|©Îºô°ì¦WºÙ¤£¦P¡C©Ò¥H¡A¦b³]pÁʪ«¨®µ{¦¡®É¡A±z³Ì¦n«O«ù¤@Óp¼Æ¾¹¡A¨Ã±N¦¹¼Æ¾Ú¶Ç»¼¤U¥h¡A§Y¡G + ª`·N¦bÂsÄý¾¹¤¤¤@Ó cookie ·|´À´«±¼¤W¤@Ó¦P¦Wªº + cookie¡A°£«D¸ô®|©ÎªÌ°ì¤£¦P¡C¦]¦¹¹ï©óÁʪ«¨®µ{§Ç¥i¥H«O¯d¤@Óp¼Æ¾¹¨Ã¤@°_¶Ç»¼¡A¨Ò¦p¡G </simpara> <example> - <title>¤@Ó <function>setcookie()</function> ªº½d¨Ò</title> + <title>¤@Ó <function>setcookie</function> ªº¥Ü¨Ò</title> <programlisting role="php"> <![CDATA[ <?php -$count++; -setcookie("count", $count, time()+3600); +if (isset($_COOKIE['count'])) { + $count = $_COOKIE['count'] + 1; +} else { + $count = 1; +} +setcookie('count', $count, time()+3600); setcookie("Cart[$count]", $item, time()+3600); ?> ]]> @@ -760,39 +963,45 @@ </sect2> <sect2 id="language.variables.external.dot-in-names"> - <title>¦bÅܼƦW¦r¤¤ªº¥y¸¹ (dots)</title> + <title>ÅܼƦW¤¤ªºÂI</title> <para> - ¤@¯ë¤W¡APHP ¨Ã¤£·|§ó§ï¶Ç¤Jµ{¦¡ªºÅܼƦWºÙ¡CµM¦Ó¡A±z¥²¶·¯d·N¥y¸¹ (.) ¨Ã¤£¬O¤@Ó¦³®Äªº PHP ÅܼƦWºÙ¦r¤¸¡A¥¿¦p¡G - + ³q±`¡APHP ¤£·|§ïÅܶǻ¼µ¹¸}¥»¤¤ªºÅܼƦW¡CµM¦ÓÀ³¸Óª`·N¨ìÂI¡]¥y¸¹¡^¤£¬O + PHP ÅܼƦW¤¤ªº¦Xªk¦r¤¸¡C¦Ü©óì¦]¡A¬Ý¬Ý¡G <programlisting role="php"> <![CDATA[ <?php -$varname.ext; /* invalid variable name */ +$varname.ext; /* «DªkÅܼƦW */ ?> ]]> </programlisting> - ³o®É¡AåªR¾¹¨£¨ìªº¥u¬O¤@Ó¥s°µ <varname>$varname</varname> ªºÅܼơA¸òÀHµÛ¦r¦ê³sµ²¹Bºâ¤l (.)¡A¦A¨Ó¬O¤@ÓµL¤Þ¸¹ªº¦r¦ê¡Gext¡CÅãµM¦a¡A³o¨Ã¤£·|±a¨Ó±z·Qnªºµ²ªG¡C + ³o®É¡A¸ÑªR¾¹¬Ý¨ì¬O¤@Ó¦W¬° + <varname>$varname</varname> + ªºÅܼơA«á±¸òµÛ¤@Ó¦r¤¸¦ê³s±µ¹Bºâ²Å¡A«á±¸òµÛ¤@Ó»r¦r¤¸¦ê¡]§Y¨S¦³¥[¤Þ¸¹ªº¦r¤¸¦ê¡A¥B¤£¤Ç°t¥ô¦ó¤wª¾ªº°·¦W©Î«O¯d¦r¡^'ext'¡C«Ü©úÅã³o¤£¬O·Qnªºµ²ªG¡C </para> <para> - ¥¿¦]¦p¦¹¡APHP ·|¦Û°Êªº±N¶Ç¤JªºÅܼƦWºÙ¤¤ªº¥y¸¹ (.) §ï¬°©³½u (_)¡C + ¥X©ó¦¹ì¦]¡Anª`·N PHP + ±N·|¦Û°Ê±NÅܼƦW¤¤ªºÂI´À´«¦¨¤U¹º½u¡C </para> </sect2> <sect2 id="language.variables.determining-type-of"> - <title>§P©wÅܼƪºÃþ«¬</title> + <title>½T©wÅܼÆÃþ«¬</title> <para> - ¥Ñ©ó PHP ·|¦Û¦æ§PÂ_ÅܼƪºÃþ«¬¡A¨Ã«ö»ÝnÂàÅÜ¥¦ÌªºÃþ«¬¡A¦]¦¹¦³®É¤]Ãø¥H©úÅã¦a§P©w¤@ÓÅܼƦb¬YӮɨ誺Ãþ«¬¡C¦³Å²©ó¦¹¡APHP ´£¨Ñ¤F´XÓ§P©wÅܼÆÃþ«¬ªº¨ç¼Æ¡G<function>gettype()</function>¡B<function>is_array()</function>¡B<function>is_float()</function>¡B<function>is_int()</function>¡B<function>is_object()</function> ¤Î <function>is_string()</function>¡C½Ð°Ñ¾\<link linkend="language.types">Ãþ«¬</link>¤@³¹¡C + ¦]¬° PHP ·|§PÂ_ÅܼÆÃþ«¬¨Ã¦b»Ýn®É¶i¦æÂà´«¡]³q±`±¡ªp¤U¡^¡A¦]¦¹¦b¬Y¤@®É¨èµ¹©wªºÅܼƬO¦óºØÃþ«¬¨Ã¤£©úÅã¡CPHP + ¥]¬A´XӨ禡¥i¥H§PÂ_ÅܼƪºÃþ«¬¡A¨Ò¦p¡G<function>gettype</function>¡A<function>is_array</function>¡A<function>is_float</function>¡A<function>is_int</function>¡A<function>is_object</function> ©M + <function>is_string</function>¡C°Ñ¨£<link + linkend="language.types">Ãþ«¬</link>¤@³¹¡C </para> </sect2> </sect1> - + </chapter> - + <!-- Keep this comment at the end of the file Local variables: mode: sgml