Re: cvs: php4 /ext/standard array.c /ext/standard/tests/array count_recursive.phpt
| From: | derick@php.net | Date: | Wed, 09 Jan 2002 17:54:10 +0000 |
| Subject: | Re: cvs: php4 /ext/standard array.c /ext/standard/tests/array count_recursive.phpt | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-9002@lists.php.net to get a copy of this message | ||
On Wed, 9 Jan 2002, Andi Gutmans wrote:
> Why is this useful?
To count the nodes in a tree:
$ar = array (
"child1" => array ("child2", "child3", "child4"),
"child5" => array ("child6", "child7", "child8")
);
(maybe a louzy example, but you should get the idea :)
Derick
>
> At 06:50 PM 1/9/2002 +0100, derick@php.net wrote:
> >On Wed, 9 Jan 2002, Andi Gutmans wrote:
> >
> > > Was this in 4.1.1?
> >
> >No, only on the 4.2.0 branch.
> >
> >Derick
> >
> > > At 06:49 PM 1/9/2002 +0100, derick@php.net wrote:
> > > >On Wed, 9 Jan 2002, Andi Gutmans wrote:
> > > >
> > > > > Isn't this the function we decided to nuke?
> > > >
> > > >Nope, that was is_array_multidimensional(). I'll check if it's nuked,
> > > >is
> > > >not, I'll nuke it.
> > > >
> > > >Derick
> > > >
> > > > >
> > > > > Andi
> > > > >
> > > > > At 04:03 PM 1/9/2002 +0000, Derick Rethans wrote:
> > > > > >derick Wed Jan 9 11:03:36 2002 EDT
> > > > > >
> > > > > > Modified files:
> > > > > > /php4/ext/standard array.c
> > > > > > /php4/ext/standard/tests/array count_recursive.phpt
> > > > > > Log:
> > > > > > - Fix bug introduced in earlier patch
> > > > > >
> > > > > >
> > > > > >Index: php4/ext/standard/array.c
> > > > > >diff -u php4/ext/standard/array.c:1.151
> > php4/ext/standard/array.c:1.152
> > > > > >--- php4/ext/standard/array.c:1.151 Sat Dec 29 15:59:59 2001
> > > > > >+++ php4/ext/standard/array.c Wed Jan 9 11:03:34 2002
> > > > > >@@ -21,7 +21,7 @@
> > > > > >
> > > > +----------------------------------------------------------------------+
> > > > > > */
> > > > > >
> > > > > >-/* $Id: array.c,v 1.151 2001/12/29 20:59:59 derick Exp $ */
> > > > > >+/* $Id: array.c,v 1.152 2002/01/09 16:03:34 derick Exp $ */
> > > > > >
> > > > > > #include "php.h"
> > > > > > #include "php_ini.h"
> > > > > >@@ -260,11 +260,16 @@
> > > > > > if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC,
> > > > > > "z|l",
> > > > > > &array, &mode) == FAILURE)
> > > > > > return;
> > > > > >
> > > > > >- if (Z_TYPE_P(array) == IS_ARRAY) {
> > > > > >- RETURN_LONG (php_count_recursive (array, mode));
> > > > > >- } else {
> > > > > >- /* return 1 for non-array arguments */
> > > > > >- RETURN_LONG(1);
> > > > > >+ switch (Z_TYPE_P(array)) {
> > > > > >+ case IS_NULL:
> > > > > >+ RETURN_LONG(0);
> > > > > >+ break;
> > > > > >+ case IS_ARRAY:
> > > > > >+ RETURN_LONG (php_count_recursive (array,
> > mode));
> > > > > >+ break;
> > > > > >+ default:
> > > > > >+ RETURN_LONG(1);
> > > > > >+ break;
> > > > > > }
> > > > > > }
> > > > > > /* }}} */
> > > > > >Index: php4/ext/standard/tests/array/count_recursive.phpt
> > > > > >diff -u php4/ext/standard/tests/array/count_recursive.phpt:1.1
> > > > > >php4/ext/standard/tests/array/count_recursive.phpt:1.2
> > > > > >---
> > php4/ext/standard/tests/array/count_recursive.phpt:1.1 Sat Dec 29
> > > > > >16:05:03 2001
> > > > > >+++ php4/ext/standard/tests/array/count_recursive.phpt Wed Jan 9
> > > > > >11:03:36 2002
> > > > > >@@ -4,6 +4,11 @@
> > > > > > --GET--
> > > > > > --FILE--
> > > > > > <?php
> > > > > >+print "Testing NULL...\n";
> > > > > >+$arr = NULL;
> > > > > >+print "COUNT_NORMAL: should be 0, is ".count($arr,
> > COUNT_NORMAL)."\n";
> > > > > >+print "COUNT_RECURSIVE: should be 0, is ".count($arr,
> > > > COUNT_RECURSIVE)."\n";
> > > > > >+
> > > > > > print "Testing arrays...\n";
> > > > > > $arr = array(1, array(3, 4, array(6, array(8))));
> > > > > > print "COUNT_NORMAL: should be 2, is ".count($arr,
> > COUNT_NORMAL)."\n";
> > > > > >@@ -23,6 +28,9 @@
> > > > > > print "COUNT_NORMAL: should be 2, is
> > > > > > ".count(array("a",
> > > > array("b")))."\n";
> > > > > > ?>
> > > > > > --EXPECT--
> > > > > >+Testing NULL...
> > > > > >+COUNT_NORMAL: should be 0, is 0
> > > > > >+COUNT_RECURSIVE: should be 0, is 0
> > > > > > Testing arrays...
> > > > > > COUNT_NORMAL: should be 2, is 2
> > > > > > COUNT_RECURSIVE: should be 8, is 8
> > > > > >
> > > > > >
> > > > > >
> > > > > >--
> > > > > >PHP CVS Mailing List (http://www.php.net/)
> > > > > >To unsubscribe, e-mail: php-cvs-unsubscribe@lists.php.net
> > > > > >For additional commands, e-mail: php-cvs-help@lists.php.net
> > > > > >To contact the list administrators, e-mail:
> > php-list-admin@lists.php.net
> > > > >
> > > > >
> > > > > --
> > > > > PHP CVS Mailing List (http://www.php.net/)
> > > > > To unsubscribe, e-mail: php-cvs-unsubscribe@lists.php.net
> > > > > For additional commands, e-mail: php-cvs-help@lists.php.net
> > > > > To contact the list administrators, e-mail:
> > php-list-admin@lists.php.net
> > > > >
> > >
> >
> >
> >--
> >PHP CVS Mailing List (http://www.php.net/)
> >To unsubscribe, e-mail: php-cvs-unsubscribe@lists.php.net
> >For additional commands, e-mail: php-cvs-help@lists.php.net
> >To contact the list administrators, e-mail: php-list-admin@lists.php.net
>