Comment faire pour ne garder que spécifique tableau de clés/valeurs dans la gamme?

J'ai un tableau multidimensionnel que je suis à la recherche d'auge pour des valeurs spécifiques.
Si ces valeurs sont trouvées j'ai besoin d'extraire les indices avec ces valeurs ( faire de nouveaux array ) et supprimer tous les autres.

array_intersect a bien fonctionné sur php 5.3 , maintenant 5.4 il se plaint Avis: Tableau de conversion de chaîne de caractères.

J'ai trouvé que array_intersect a un problème avec un tableau multidimensionnel sur la 5.4.
https://bugs.php.net/bug.php?id=60198

C'est tableau $options je suis à la recherche d'auge

Array (

    [index1] => html
    [index2] => html
    [index3] => slide
    [index4] => tab
    [index5] => Array
        (
            [0] => 123
        )

)

code qui fonctionne sur php 5.3.x

$lookfor   = array('slide', 'tab');
$found     = array_intersect($options, $lookfor);


print_r($found);


Array
(
    [index3] => slide
    [index4] => tab
)

mais dans 5.4.x cette trows l'erreur mentionnée ci-dessus.

Ce serait un autre moyen de le faire sans une boucle s'il vous plaît.
et sans la suppression de l'erreur.

Merci!

  • Pourquoi ne pouvez-vous pas utiliser le code actuel? vous devriez être la suppression de toutes les erreurs qui auraient pu être affiché à l'utilisateur final de toute façon, et il suffit de ne pas enregistrer ces.
  • pendant que vous étiez en tapant j'ai édité mon post. Je ne veux pas supprimer l'erreur. voudrais trouver une solution plutôt que de cacher les avis via @
  • Ce qui vous empêche de simplement en utilisant une boucle?
  • tableau a plus de 200 options, donc je préfère ne pas en boucle fosse toutes
  • Le faire. Ensuite, le profil de votre code à l'aide de xdebug ou xhprof. Je vous assure que le simple fait de parcourir un tableau avec 200 éléments, il ne sera pas même une goutte dans le seau de performance. Que pensez-vous array_intersect (et array_filter ci-dessous) n'?
InformationsquelleAutor Benn | 2014-04-18