ID:               23964
 User updated by:  prof_moriarty at veryfast dot biz
 Reported By:      prof_moriarty at veryfast dot biz
 Status:           Open
 Bug Type:         Feature/Change Request
 Operating System: Win98 se
 PHP Version:      4.3.2
 New Comment:

fair point & good catch.
Mind, now you've gone and re-inforced my point about us 'mere
mortals'.
;)

I'm assuming 'php-general is the general mailing list.


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

[2003-06-03 06:36:08] [EMAIL PROTECTED]

This should be on php-general by now, but...

Why the inner foreach?  According to the stated problem, you *know*
which key you're looking for, so why not go straight for it?  So...

function proposed_function($array, $key)
{
   $total = 0;
   foreach($array as $subarr)
      if (isset($subarr[$key]))
         $total += $subarr[$key];
   return $total;
}


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

[2003-06-02 19:52:53] prof_moriarty at veryfast dot biz

You see, if someone with a php.net e-mail addy get's it wrong, what
hope do us 'mere-mortals' have?!?!?! hehe
;)

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

[2003-06-02 17:47:10] [EMAIL PROTECTED]

Ah, touche... good catch...

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

[2003-06-02 17:43:31] prof_moriarty at veryfast dot biz

sorry, i can't code in C/++, so can't do it myself. :)

however that code can't work (i just tested it to make sure).
You missed a layer of the looping.

It should be:

$total = 0;
foreach($array_to_manipulate as $boxes => $box_arrays){
  foreach($box_arrays as $key=> $value){
    if ($key == 'height') {
      $total += $value;
    }
  }
}

That should work.....
As you can see, with sizeable arrays, it could go around quite a few
times... Which (from a performance front) would be better if it was
done in c(++).... Hint Hint... ;)

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

[2003-06-02 17:07:14] [EMAIL PROTECTED]

Perhaps someone else will be motivated enough to implement this (feel
free to write it yourself and submit a patch to
[EMAIL PROTECTED]) but here's some userspace code which
accomplishes what you want.

$total = 0;
foreach($array_to_manipulate as $key => $value)
  if ($key == 'height')
    $total += $value;

Which I'm sure you can see is easy enough to wrap in a function.

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/23964

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

Reply via email to