mfischer                Sun Jun  9 15:52:00 2002 EDT

  Modified files:              
    /phpdoc/en/language types.xml 
  Log:
  - Explain more behaviours of using certain kind of keys for arrays.
  - Removed note about negative array keys.
  # Can someone explain me why there was an note about better not documented
  # negative array indices? Explain me what's wrong not documented it, if you've
  # good reason I will reconsider the removement. And the note was bogus too (IMHO).
  
  
Index: phpdoc/en/language/types.xml
diff -u phpdoc/en/language/types.xml:1.82 phpdoc/en/language/types.xml:1.83
--- phpdoc/en/language/types.xml:1.82   Sun May 26 11:50:03 2002
+++ phpdoc/en/language/types.xml        Sun Jun  9 15:52:00 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.82 $ -->
+<!-- $Revision: 1.83 $ -->
  <chapter id="language.types">
   <title>Types</title>
 
@@ -1075,40 +1075,38 @@
       pairs. 
      </para>
      <para>
-      A <varname>key</varname> is either a nonnegative <type>integer</type> 
-      <!-- 
-      
-      Negative integers are also allowed, however, IMO it's best to not 
-      document that, or even disencourage it. 
-      
-      Why?
-      
-      First, because it is very tricky. But the real reason is that the key
-      '-1' will be interpreted as a string, and not as a integer. Therefore,
-      the usage
-      
-      "the -1'st value of \$arr is $arr[-1]" is ambigious. By the way,
-      it results in a parse-error anyway, which is another argument for
-      not documenting it.
-      
-      -Jeroen
-      
-      -->
+      A <varname>key</varname> is either an <type>integer</type> 
       or a <type>string</type>.
-      If a key is the standard representation of a non-negative 
+      If a key is the standard representation of an
       <type>integer</type>, it will
-      be interpreted as such (i.e. <literal>'8'</literal> will be interpreted 
+      be interpreted as such (i.e. <literal>"8"</literal> will be interpreted 
       as <literal>8</literal>, while
-      <literal>'08'</literal> will be interpreted as <literal>'08'</literal>).
+      <literal>"08"</literal> will be interpreted as <literal>"08"</literal>).
      </para>
      <para>
       A value can be anything.
      </para>
      <para>
       If you omit a key, the maximum of the integer-indices is taken, and
-      the new key will be that maximum + 1. If no integer-indices exist
+      the new key will be that maximum + 1. As integers can be negative,
+      this is also true for negative indices. Having e.g. the highest index
+      being <literal>-6</literal> will result in being <literal>-5</literal>
+      the new key. If no integer-indices exist
       yet, the key will be <literal>0</literal> (zero). If you specify a key
       that already has a value assigned to it, that value will be overwritten.
+     </para>
+     <para>
+      Using <literal>true</literal> as a key will evalute to
+      <type>integer</type> <literal>1</literal> as key. Using
+      <literal>false</literal> as a key will evalute to <type>integer</type>
+      <literal>0</literal> as key.  Using <literal>NULL</literal> as a key
+      will evalute to an empty string. Using an emptry string as key will
+      create (or overwrite) a key with an empty string and its value, it is
+      not the same as using empty brackets.
+     </para>
+     <para>
+      You cannot use arrays or objects as keys. Doing so will result in a
+      warning: <literal>Illegal offset type</literal>.
      </para>
      
      <para>


Reply via email to