Brent, et al --

...and then Brent Baisley said...
% 
% I'm not sure how you are creating your array, but your resulting array 

Well, here's some code with some commentary to perhaps help:

  - first we define a name for a picture basket; the default is
    'default' (we might later get a new name from the user or replace
    an existing basket and save the collection)

  - we base64_encode the basket name (if it isn't already done) so that
    we can safely store it and use it as a key in the basket list

  - so we're ready to populate $pixbasket, an array of values (path to
    picture) and keys (base64_encoded version of the value, in fact, for
    the same sorts of reasons); we're given a base64_encoded path as the
    picture to put in the basket:

    if ( $fn == "add" || $fn == "rm" )                  # are we adding or removing a 
pic?
    {
      ...
        $p = base64_decode($basketpic);                 # get the pic path
          ...
          case add: $pixbasket[$basketpic] = $p; break ;        # add to basket
          ...
    }

  - when it's time to save the basket, we put the whole array (as a
    value) onto the basket list array:

      if ( $fn == "manage" )                            # still?
      {
        ...
        if ( $basketsave && ( $newname || $target ) )   # what to do and how to do it?
        {
          if ( $newname ) { $basketname = base64_encode($newname) ; }   # use this if 
we have it ...
            else { $basketname = $target ; }            # ... or else use 'target' 
(already encoded)
          $basketlist[$basketname] = $pixbasket ;       # put it in the array
          ...
        }

  - then we write the whole basket list array to a file and get it back
    some other day


% would look something like this:
% 
% Array
% (
%   [name1]=>namevalue1
%   [a1]=>Array
%       (
%       [k1]=>value1
%       [k2]=>value2
%       )
%   [name2]=>namevalue2
%   [a2]=>Array
%       (...

Hmmm...


% 
% You end up with a two dimensional array (avoiding the columns term) that 
% contains a name value and a values array for each entry.

OK.  I was able to construct this directly, but I don't see how to use
it; if I ask for array_keys() for the outer array I'll get both types of
keys and that would be a mess.

I suppose I could have another array like

  $names = array ('name1', 'name2', 'name3') ;

where I maintain the order (renaming 'name2' is as simple as

  $names[1] = 'newname' ;

once I determine that I'm working with position 1) and then have my array
of baskets, now simply by ID instead of like a hash, so

  $baskets = array (array(...),array(...),...) ;

would work) and then wrap both of those into the single array for writing
(like

  $basketlist = array($names,$baskets) ;

or so), but that seems even more of a kludge :-)

Given the array you present above, how would you extract a basket by
name?  The closest I can come is to go and find the name and then
increment the ID by 1 and then get out that basket, which sounds like a
*huge* mess...


Thanks again & HAND

:-D
-- 
David T-G                      * There is too much animal courage in 
(play) [EMAIL PROTECTED] * society and not sufficient moral courage.
(work) [EMAIL PROTECTED]  -- Mary Baker Eddy, "Science and Health"
http://justpickone.org/davidtg/      Shpx gur Pbzzhavpngvbaf Qrprapl Npg!

Attachment: msg94162/pgp00000.pgp
Description: PGP signature

Reply via email to