Mailinglisten-Archive |
Hi,
On Wed, Jun 07, 2006 at 08:25:14AM +0200, Albin Blaschka wrote:
> Norbert Pfeiffer schrieb:
> > nur noch eine Frage dazu: ist das Problem zu simpel,
> > oder koennt Ihr es auch nur nicht ... <gruebel>
> >
> > Mir fallen dazu nur zwei gegenlaeufige foreach-Schleifen ein,
> > und ich hoffte dass jemand etwas eleganteres kennt ...
> >
> >
> > <copy>
> > es muessen Arrays konvertiert werden, d.h. aus einer Vielzahl
> > von Elementen wird nur die Schnittmenge benoetigt.
> >
> > Frage, wie entfernt man die nicht benoetigten am geschicktesten?
> > <?
>
> Morgen,
>
> Vielleicht so?
>
> http://at2.php.net/manual/de/function.array-intersect.php
Da er auf Schluessel vergleicht eher mit array_intersect_key, aber an
sich wuerde ich es auch damit machen (wenn ich sicher sein kann, dass
die benoetigten Keys auch in allen Arrays vorhanden sind).
--------------------------------Begin Code-----------------------------
<?php
$VH = array();
$VH[1] = array(
'vorn'=>'Franz',
'name'=>'Clausen',
'mail'=>'fcl at gmx.de',
'bank'=>75000,
'zort'=>'Paris',
'gort'=>'Mainz',
'mama'=>'Gesine Schlotter');
$VH[2] = array(
'vorn'=>'Franz2',
'name'=>'Clausen2',
'mail'=>'fcl at gmx.de2',
'bank'=> 740002,
'zort'=>'Paris2',
'gort'=>'Mainz2',
'mama'=>'Gesine Schlotter2');
$ref_keys = array ('zort' => 1, 'bank' => 1) ;
$filtered = array();
foreach ($VH as $key => $array) {
$filtered[$key] = (array_intersect_key($array, $ref_keys));
}
print_r($filtered);
?>
---------------------------------End Code------------------------------
Gruss Jens
php::bar PHP Wiki - Listenarchive