2016-07-25 2 views
-1

Ich benutze Animate.css für Bootstrap Karussell und ich muss die Animationen sortieren.Rewrite 2d Array, das nur einige Schlüssel enthält

Ich habe ein Array namens $ anims gemacht, das alle Animationen enthält. Ich möchte eine neue Variable erstellen, die beispielsweise nur Eingangsanimationen enthält. Das ist also mein Array.

$anims = array(
    "Bouncing Entrances" => array(
     "bounceIn", 
     "bounceInDown", 
     .... 
    ), 
    "Bouncing Exits" => array(
     "bounceOut", 
     "bounceOutDown", 
     .... 
    ), 
    "Fading Entrances" => array(
     "fadeIn", 
     "fadeInDown", 
     .... 
    ), 

    ...... 
) 
$enrtyAnims = ... 
?> 

Nach der Verarbeitung es so aussehen sollte:

$anims = array(
    "Bouncing Entrances" => array(
     "bounceIn", 
     "bounceInDown", 
     .... 
    ), 
    "Fading Entrances" => array(
     "fadeIn", 
     .... 
    ) 
) 

Aber ich habe keine Ahnung, wie es mit den Tasten zu tun. Ich möchte in der Lage zu sagen, ich möchte neue Array mit den Tasten X und Y und es macht es.

+0

wird dieser beispielhaften Schlüssel ' "EntrancesAnim"' sollte in Ihrem Fall gültig sein? – RomanPerekhrest

Antwort

2

Sie können einfach array_filter Funktion mit dritten Flag-Parameter verwenden, zusammen mit der Flagge ARRAY_FILTER_USE_KEY so sieht der Code wie als

$result_array = array_filter($anims,function($k){ 
        return (strpos($k,"Entrances") !== false); 
       },ARRAY_FILTER_USE_KEY); 

Hinweis: Flags als dritter Parameter sind in PHP-Versionen> = 5.6.0 eingeführt

Demo

+1

Denken Sie daran, dass dies PHP 5.6.0+ erfordert. –

+0

Dank @AndreyTsarev, ich habe gerade vergessen, das in Notizen zu erwähnen –

1

Zugriff auf die gewünschten Elemente mit Schlüssel und erzeugen diese Elemente ein neues Array verwendet wird, wie folgt aus:

$anims = array(
    'Bouncing Entrances' => $anims['Bouncing Entrances'], 
    'Fading Entrances' => $anims['Fading Entrances'], 
    // ... 
); 

EDIT: vergessen haben, die Schlüssel zu erhalten. Wenn es ein bestimmtes Muster gibt, nach dem Sie die Animationen filtern möchten, können Sie array_filter() Funktion verwenden, wie @Uchiha sagte.

+0

Würde das die gleiche Struktur wie das andere Array haben oder würde es nur die Werte einfügen? –

Verwandte Themen