phpbar.de logo

Mailinglisten-Archive

[php] Array - Sonderfall

[php] Array - Sonderfall

Jens Giessmann jg at handcode.de
Mit Jun 7 10:10:19 CEST 2006


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