2015-10-11 1 views
-1

J'essaye de faire une boucle à travers un tableau de tableaux avec la boucle foreach. Im ayant des problèmes de ciblage juste le deuxième élément dans les tableaux individuels pour vérifier les mots-clés.PHP boucle à travers tableau pour les mots-clés

foreach($data as $pos){ 
    if (strpos($pos[2],'are') !== false) { //Line 62// 
     echo 'true'; 
    } else{ 
     echo 'idk what to do'; 
    } 
} 

J'ai utilisé ce avant d'obtenir un élément spécifique d'un tableau, mais je ne sais pas pourquoi je ne peux pas maintenant. Voici mon erreur:

Erreur:

Undefined offset: 2 line: 62

code:

$url = "http://www.ted.com/"; 
/* store results here */ 
$data=array(); 

/* The tags you are interested in finding within the html src */ 
$tags=array('p','h1'); 
$keyword=array('technology','ideas'); 

/* Create the dom object with html from url */ 
$dom=new htmldom(file_get_contents($url), true); 
$html=$dom->gethtml(); 

/* Get all tags */ 
$col=$html->getElementsByTagName('*'); 

if($col->length > 0){ 
    foreach($col as $tag) { 
     /* Is this a tag we are interested in? */ 
     if(in_array($tag->tagName, $tags)){ 
       $data[]=array('tag' => $tag->tagName, 'value' => $tag->textContent); 
     } 
    } 
} 
$dom=$html=null; 
/* Do stuff with the results */ 


foreach($data as $pos){ 
    if (strpos($pos[2],'are') !== false) { 
     echo 'true'; 
    } else{ 
     echo 'idk what to do'; 
    } 
} 
+0

Sur quelle ligne l'erreur se produit-elle? –

+0

* "Offset non défini: 1" * - ok, continue; où est le reste de l'erreur? –

+0

ErrorException en c5486812c523970e0e8d8dfa00fa0753 ligne 62: –

Répondre

1

Vous remplissez le tableau data avec des tableaux de longueur 2. Vous pouvez y accéder avec des moyens les indices 0 et 1 (les tableaux sont basés sur 0 en PHP). Avec $pos[2] vous essayez d'y accéder avec l'index 2 qui provoque l'exception de décalage non valide.

En général, je ne voudrais pas mélanger l'accès à un tableau par index et clé. Changez le code en $pos['value']. C'est une caractéristique étrange de php de toute façon.