Tom: Typkonvertierung im Arrays-Key

Beitrag lesen

Hello,

Ergänzungsfrage:

Was wird schneller sein bzw. weniger Ressourcen schlucken

ein Array in der Form:

# $_data['l1']  = array();
  # $_data['p7']  = array();
  # $_data['s3']  = array();
  # $_data['l2']  = array();
  # $_data['l3']  = array();

# $_data['l1'][0]  = 'Natrium';
  # $_data['l1'][1]  = 'Phosphor';
  # $_data['l1'][3]  = 'Barium';

# $_data['p7'][0]   = 0;
  # $_data['p7'][5]   = 7;
  # $_data['p7'][27]  = 4;

usw.

Es soll der größte vorhandene numerische Schlüssel des Monsters ermittelt werden.

#1. ---------------------------------

$maxkey = 0;

foreach($_data as $_column => $key)
  {
    foreach($_column as $key => $val)
    {
      if (gettype($key) == 'integer')
      {
        $maxkey = max($maxkey,$key);
      }
    }
  }
#-----------------------------------.1

oder

#2. ---------------------------------
  $maxkey = 0;

foreach($_data as $_column => $key)
  {
    $_colnames = array_keys($_data);
    $max = max($_colnames);
    $maxkey = ($maxkey, $max);
  }

#---------------------------------.2

oder

#3. ---------------------------------

irgendwas mit array_map() oder array_walk() oder sonstiges...

Nur da fällt mir heuite Abend nix mehr ein :-(

#---------------------------------.3

Das Datenarray kann recht groß werden, sodass ich schon gerne die schnellste Funktion hätte. Außerdem muss ich vermutlich auch an den Speicher denken. Es wird PHP 4.3.x und hher eingesetzt. Mit Referenzen bei foreach() [hab eben auch nocht gesehen, dass es die schon gibt] kann ich also nicht arbeiten.

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)