ID:               17763
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Assigned
 Bug Type:         Documentation problem
 Operating System: all
 PHP Version:      4.2.1
 Assigned To:      jmcastagnetto
 New Comment:

Well, I think I'd agree with "nested array" and "multi-dimensional
array".

As for supporting the behaviour, this may (or may not!) be what you're
looking for:

In FORTRAN 9x if you declare a 2-dimensional array as:

   INTEGER, DIMENSION(2:5, 3:10) :: values

then you can refer to (for example):

   values(2,:)   ! retrieve first row
   values(:,3)   ! retrieve first column

Similarly, in Algol68 you can declare:

    [2:5, 3:10] INT values;

and refer to:

   values[2,]   # retrieve first row #
   values[,3]   # retrieve first column #

I'm not sure, however, if any of this is relevant, since both these
examples of column-slicing apply to multi-dimensional arrays;
personally, I wouldn't *expect* this kind of functionality with nested
arrays, simply because they are arrays *of* arrays, and not monolithic
multi-dimensioned ones.  (In Algol68, it is also possible to declare an
"array of arrays", but, from my dim, distant and exceedingly imperfect
memory, I don't think you can "column"-slice those in the same way!)

Cheers!

Mike


Previous Comments:
------------------------------------------------------------------------

[2002-07-01 10:43:52] [EMAIL PROTECTED]

You are right, "multi-dimensional matrix" is propably a more precise
term of what I meant. 

I don't know of a language that supports this behavior in their
*native* array support and I don't have any example C code which can
implement such constructs.

------------------------------------------------------------------------

[2002-06-18 10:22:23] [EMAIL PROTECTED]

Assigning to myself, while waiting for feedback

------------------------------------------------------------------------

[2002-06-17 18:24:53] [EMAIL PROTECTED]

Of the scripting languages I've used (Perl, Awk, Python), as well as
some programming langs, usually what you call 'nested array' is
referred to a 'multi-dimensional array' (sometimes interchangeably).

What you are call 'multi-dimensional array' I would think more of a
'multi-dimensional matrix', which is a totally different concept, and
no language I know supports such a structure like that natively.
SciPython has support for matrices, and so do some Java libs, etc.

If you know of a language that supports the behavior you point of in
their *native* array support, I would like to learn. It will be even
more usefule if you got some example C code which can implement such
constructs, a patch to php4/ext/standard/array.[ch] will be the
ultimate "good thing".

Waiting for feedback

------------------------------------------------------------------------

[2002-06-14 09:41:46] [EMAIL PROTECTED]

Hello
I think the term "multi-dimensional array" might be misleading for some
people. Wouldn't "nested array" be more precise?

Look at the following sample:

$myArray = array(
"A"=>Array("1"=>"test","2"=>"test","3"=>"test"),
"B"=>Array("1"=>"test","2"=>"test","3"=>"test"),
"C"=>Array("1"=>"test","2"=>"test","3"=>"test"));

In this sample I can "unset($myArray["B"])" which deletes a elements
associated with the key "B", but there is no function to delete all
elements which are associated with the key "2" in one step. I have to
go through all the elements of the ABC-Array and delete each
"2"-Element seperatly.

In a multi-dimensional array you could delete (and add)Elements in both
dimensions without having to loop through the nested arrays.

PS: I very much like the way PHP organizes Arrays, don't change it. It
is just the term that confuses me.

With Regards
Kristian

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=17763&edit=1


-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to