Re: cvs: phpdoc /en/language types.xml

From: Date: Thu, 31 Aug 2006 18:17:35 +0000
Subject: Re: cvs: phpdoc /en/language types.xml
References: 1  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969373875@lists.php.net to get a copy of this message
Hello, I'm back :) I don't think the $a{1} style is deprecated.. I don't really remember of that decision on the internals mailing list. The E_STRICT warning was even removed. I think we need to double-check this one. Nuno ----- Original Message -----
philip Thu Aug 31 01:57:26 2006 UTC Modified files: /phpdoc/en/language types.xml Log: $string{42} is indeed deprecated as of PHP 6, so let's document that. Also, removed "string offset" information from the "type juggling" section. This also closes bug #38645 http://cvs.php.net/viewvc.cgi/phpdoc/en/language/types.xml?r1=1.166&r2=1.167&diff_format=u Index: phpdoc/en/language/types.xml diff -u phpdoc/en/language/types.xml:1.166 phpdoc/en/language/types.xml:1.167 --- phpdoc/en/language/types.xml:1.166 Thu May 4 02:21:28 2006 +++ phpdoc/en/language/types.xml Thu Aug 31 01:57:26 2006 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.166 $ --> +<!-- $Revision: 1.167 $ --> <chapter id="language.types"> <title>Types</title> @@ -1090,7 +1090,8 @@
     <note>
      <simpara>
       They may also be accessed using braces like <varname>$str{42}</varname>
-       for the same purpose. However, using square array-brackets is preferred.
+       for the same purpose. However, using square array-brackets is preferred
+       because the {braces} style is deprecated as of PHP 6.
      </simpara>
     </note>
     <para>
@@ -1114,7 +1115,7 @@ $str = 'Look at the sea'; $str[strlen($str)-1] = 'e'; -// Alternative method using {} +// Alternative method using {} is deprecated as of PHP 6 $third = $str{2}; ?> @@ -2446,41 +2447,22 @@
     undefined.
    </para>
    <para>
+     Also, because PHP supports indexing into strings via offsets using
+     the same syntax as array indexing, the following example holds true
+     for all PHP versions:
     <informalexample>
      <programlisting role="php">
<![CDATA[ <?php
-$a = "1";     // $a is a string
-$a[0] = "f"; // What about string offsets? What happens?
+$a    = 'car'; // $a is a string
+$a[0] = 'b'; // $a is still a string
+echo $a;       // bar
?> ]]>
      </programlisting>
     </informalexample>
    </para>
    <para>
-     Since PHP (for historical reasons) supports indexing into strings
-     via offsets using the same syntax as array indexing, the example
-     above leads to a problem: should $a become an array with its first
-     element being "f", or should "f" become the first character of the
-     string $a?
-    </para>
-    <para>
-     The current versions of PHP interpret the second assignment as
-     a string offset identification, so $a becomes "f", the result
-     of this automatic conversion however should be considered
-     undefined. PHP 4 introduced the new curly bracket syntax to access
-     characters in string, use this syntax instead of the one presented
-     above:
-     <informalexample>
-      <programlisting role="php">
-<![CDATA[ -<?php
-$a    = "abc"; // $a is a string
-$a{1} = "f"; // $a is now "afc" -?> -]]>
-      </programlisting>
-     </informalexample>
     See the section titled <link linkend="language.types.string.substr">String
     access by character</link> for more information.
    </para>


« previous php.doc (#969373875) next »