Re: #46251 [Opn->WFx]: Array type documentation, error in example

From: Date: Mon, 03 Nov 2008 08:44:27 +0000
Subject: Re: #46251 [Opn->WFx]: Array type documentation, error in example
References: 1 2  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-1303@lists.php.net to get a copy of this message
2008/11/2 <danbrown@php.net>: > ID: 46251 > Updated by: danbrown@php.net > Reported By: php at pengi dot se > -Status: Open > +Status: Wont fix > Bug Type: Documentation problem > PHP Version: Irrelevant > > > Previous Comments: > ------------------------------------------------------------------------ > > [2008-10-08 10:55:36] php at pengi dot se > > This also applies to the next section of the example. > > $b = array(); > > ------------------------------------------------------------------------ > > [2008-10-07 23:45:51] php at pengi dot se > > Description: > ------------ > First example under section Examples in documentation for Array type > says, that creating an array with array(initial value) is the same as > writing: > > $a[key] = value; > $a[key] = value; > $a[key] = value; > > but missing initialization of the variable. > > This may also be a security issue for people using this way of > initialization and also are using register_globals. > > What should be added to the example is: > $a = array(); > > URL to related documentation page: > http://php.net/manual/en/language.types.array.php > > Reproduce code: > --------------- > // this > $a = array( 'color' => 'red', > 'taste' => 'sweet', > 'shape' => 'round', > 'name' => 'apple', > 4 // key will be 0 > ); > > // is completely equivalent with > $a['color'] = 'red'; > $a['taste'] = 'sweet'; > $a['shape'] = 'round'; > $a['name'] = 'apple'; > $a[] = 4; // key will be 0 I disagree with the decision to mark this "Won't Be Fixed"; the documentation is incorrect and the fix is simple. Index: en/language/types/array.xml =================================================================== RCS file: /repository/phpdoc/en/language/types/array.xml,v retrieving revision 1.4 diff -u -u -r1.4 array.xml --- en/language/types/array.xml 21 Feb 2008 18:43:17 -0000 1.4 +++ en/language/types/array.xml 3 Nov 2008 08:41:33 -0000 @@ -597,26 +597,33 @@ <programlisting role="php"> <![CDATA[ <?php -// this +// This: $a = array( 'color' => 'red', 'taste' => 'sweet', 'shape' => 'round', 'name' => 'apple', - 4 // key will be 0 + 4 // key will be 0 ); -// is completely equivalent with +$b = array('a', 'b', 'c'); + +// . . .is completely equivalent with this: +$a = array(); $a['color'] = 'red'; $a['taste'] = 'sweet'; $a['shape'] = 'round'; $a['name'] = 'apple'; $a[] = 4; // key will be 0 +$b = array(); $b[] = 'a'; $b[] = 'b'; $b[] = 'c'; -// will result in the array array(0 => 'a' , 1 => 'b' , 2 => 'c'), -// or simply array('a', 'b', 'c') + +// After the above code is executed, $a will be the array +// array('color' => 'red', 'taste' => 'sweet', 'shape' => 'round', +// 'name' => 'apple', 0 => 4), and $b will be the array +// array(0 => 'a', 1 => 'b', 2 => 'c'), or simply array('a', 'b', 'c'). ?> ]]> </programlisting> Torben

« previous php.doc.bugs (#1303) next »