2009-09-30 18 views
0

J'ai une action dans le contrôleur cakephp comme qui prend le report_id comme argument et les champs sélectionnés comme tableau. J'essaye de comparer le tableau qui contient les identifiants d'attribut déjà existants avec le tableau ce que j'ai reçu du message d'action .. si cet identifiant particulier d'attribut si non présent dans le tableau reçu alors j'essaye de supprimer cela entrée dans le tableau du rapport .. Je ne suis pas au courant de la façon d'utiliser l'opérateur NOt égal à dans ce scénario. Aidez-moi s'il vous plaît .......comment utiliser l'opérateur non égal dans Cakephp

function updateReport($report_id){ 
    $attribute_ids=$this->params['form']['attr']; 
    $comma_separated = explode(",", $attribute_ids); 
    $count=count($comma_separated); 

    //$comma_separated contains 200,203 
    $exists=$this->Report->find('all',array('conditions'=>array('Report.report_id'=>$report_id))); 
    //$exists contains the attributes as 200 , 201, 203 

    foreach($exists as $exist){ 
     for($i=0;$i<$count;$i++){ 
      if($exist['Report']['attribute_id']==$comma_separated[$i]){ 
       echo "not in array $comma_separated ".$exist['Report']['attribute_id'];echo "  "; 
      } 
     } 
    } 
} 

Répondre

0

de regarder à travers un tableau pour voir si quelque chose est là, vous devez faire ce qui suit:

foreach($exists as $exist){ 
    $exists = false; 
    for($i=0;$i<$count;$i++){ 
     if($exist['Report']['attribute_id']==$comma_separated[$i]){ 
      //It exists in the array; 
      $exists = true; 
     } 
    } 
    if($exists){ 
     echo "$exist['Report']['attribute_id'] exists"; 
    }else{ 
     echo "$exist['Report']['attribute_id'] does not exist"; 
    } 
} 
1

On dirait que vous êtes à la recherche array_intersect() et/ou array_diff().

$comma_separated = array(200, 203); 
$exists=array(200, 201, 203); 

foreach(array_diff($exists, $comma_separated) as $x) { 
    echo $x, ' not in array $comma_separated. '; 
} 

impressions

201 not in array $comma_separated. 
Questions connexes