2010-09-16 4 views
2

J'ai un formulaire qui permet à l'utilisateur d'ajouter des informations et leurs loisirs. Ils peuvent ajouter des emplacements via jQuery dans mon formulaire ainsi quand j'obtiens les données je peux avoir 1 emplacement ou 10. Chaque emplacement a des attributs comme le téléphone, l'adresse, etc. Dans mon formulaire les noms d'entrée sont ajoutés avec _1, _2, etc. pour montrer son un nouvel ensemble de données. Qui fonctionne à merveille et je ne peuvent tout simplement pas à trouver ces clés lors de la boucle à travers le tableau $ _POSTÉvaluez une clé de tableau dynamique

private function array_pluck($arr,$text) 
    { 
     foreach($arr as $key => $item) 
     { 
      if(stripos($key,$text) != 0) 
      { 
       $found[] = $item; 
      } 
     } 
     return $found; 
    } 

Comme je le comprends si mon tableau a quelques touches « office_branch_phone_1, office_branch_phone_2 » Je devrais être en mesure de mettre dans "office_branch" dans mon $ text param et il crachera toutes les clés avec le "office_branch" dans le nom. Cela ne fonctionne pas cependant et je suis un peu perplexe.

+0

Tout d'abord, assurez-vous que $ _POST ressemble à ce que vous attendez de la soumission du formulaire par 'print_r ($ _ POST)' ou via un débogueur. Ma première supposition serait que votre $ arr n'est pas associative. – Fanis

+0

Pouvez-vous faire un var_dump ($ arr) et voir le contenu du $ _POST []? Aussi, vous devriez faire des stripes ($ key, $ text)! == false. – btrandom

Répondre

1

Depuis stripos retournera l'index (et il est un index 0-based retourné) != 0 est incorrect.

if (stripos($key,$text) !== false) 

Serait le bon moyen de vérifier. Donnez un coup de feu.

EDIT

Notez l'utilisation de !== au lieu de != depuis 0 a tendance à être considéré comme false si elle est cochée sans serrer la !== va vérifier le type réel, donc 0 est un retour valide. Juste une petite ficelle d'information

+0

Besoin de plus de café, qui a fait l'affaire! – Collin