2010-08-18 3 views
-4

Pourquoi cela ne fonctionne pas? si (array_search ((string) $ key, liste $))foreach array que rechercher dans un autre tableau

foreach ($head as $index => $key) 
     { 
       if (array_search((string)$key,$list)) 
       { 
        $data[$index] = serialize($data[$index]); 
        $combined[$key] = isset($data[$index]) ? $data[$index] : null; 
       } else { 

        $combined[$key] = isset($data[$index]) ? $data[$index] : null; 
       } 

     } 

liste $ est un tableau de recherche dans

+0

Et ce qui se passe? qu'est-ce qui ne fonctionne pas? –

+0

cela ne fonctionne pas: if (array_search ((chaîne) $ key, $ list)) – user419503

+1

Juste une note, array_search renverra la clé de l'élément correspondant, si l'élément correspondant est à la touche 0, alors votre va évaluer c'est faux et sauter dans l'autre. –

Répondre

1

Information de php.net:

array_search - Recherches le tableau pour une valeur donnée et renvoie le correspondant clé en cas de succès http://se.php.net/manual/en/function.array-search.php

essayer:

if($newKey = array_search((string)$key, $list)) 

Par ailleurs, vous obtiendrez un avis sur "$data", $data n'est pas défini.

Br,
Paul Peelen

+0

cela ne fonctionne pas – user419503

+0

Pouvez-vous ajouter plus de votre code ou un lien vers un fichier phps ou quelque chose? Mettez à jour votre question avec le code complet afin qu'il soit facile à lire./P –