2011-04-12 1 views
2

Je ne suis pas un développeur PHP Wordpress expert, mais je ne comprends pas cette situation. Je passe une variable via une fonction statique dans la variable $ GLOBALS qui contient un tableau. Cette variable, lorsqu'elle est dans la fonction statique, est toujours NULL, mais avant d'y entrer, c'est un type valide qui s'imprime bien.PHP Fonction Paramètre est toujours null dans Wordpress

functions.php

$badge_Id = get_comment_meta($comment->comment_ID,"badge_id", true); 

    if(strlen($badge_Id) > 0) { 
     Cisco_Rewards::add_badge_id($badge_id); 
       echo $badge_id; // PRINTS PERFECTLY 
    } 

rewards.php

class Cisco_Rewards { 

static function add_badge_id($badge_id) { 
     if(count($GLOBALS['badge_ids']) == 0) { 
      $GLOBALS['badge_ids'] = array(); 
     } 
     echo $badge_id; // WONT PRINT, IS NULL 
     array_push($GLOBALS['badge_ids'], $badge_Id); 
     print_r($GLOBALS['badge_ids']); // ALWAYS HAS NULL VALUES 
    } 
+3

Vous vous réalisez que $ badge_Id ... devrait être $ badge_id –

+0

'$ badge_Id' ou' $ badge_id'? Vous avez fait cette erreur dans quelques endroits. Peut-être envisager d'utiliser une police plus claire dans votre éditeur de texte. –

+0

C'était la réponse, cas incorrect !!!!!!! –

Répondre

2

Au lieu de

if(count($GLOBALS['badge_ids']) == 0) { 
    $GLOBALS['badge_ids'] = array(); 
} 
echo $badge_id; 

essayer

var_dump($badge_id); // to check what it contains at the very beginning of the function 
if(!is_array($GLOBALS['badge_ids'])) { 
    $GLOBALS['badge_ids'] = array(); 
}