2015-11-30 4 views
0

J'ai déjà essayé de nombreuses façons. ajouter une bibliothèque, ajouter un fichier de configuration, ajouter un contrôleur, ajouter simplement le même contrôleur ......... etc. Cela aussi même problème: (ce qui est dans le même contrôleur ajouter)CodeIgniter ne peut pas accéder à la variable globale dans le contrôleur

<?php 
class Test extends CI_Controller{ 
    public $data = array(); 

    public function __construct(){ 
    parent::__construct(); 
    //if call add_data() here, it is work 
    } 

    function add_data(){ 
    $arraya = array('a'=>'aa', 'b'=>'bb'); 
    $this->data = $arraya; 
    } 

    function index(){ 
    $this->add_data(); 
    } 

    function want_print(){ 
    print_r($this->data); 
    } 
} 
?> 

si je l'appelle add_data dans l'index, je ne peux pas obtenir des données dans want_print() .... si je l'appelle add_data dans la construire, je peux obtenir des données dans want_print() ..

S'il vous plaît quelqu'un m'aider à résoudre ce problème? Je ne veux pas l'appeler en construction parce que je ne vais pas l'appeler à chaque fois ...

Répondre

0

Vous pouvez définir les données dans votre fonction want_print() comme ceci:

function want_print() { 
    $this->index(); 
    print_r($this->data); 
} 
+0

Merci. Cela fonctionne, mais il console le html dans la console ... peut avoir un moyen de ne pas afficher? – Dccc

+0

supprimez simplement l'instruction print_r() si vous ne souhaitez pas afficher les données. – Rivnat

+0

non, il imprime le code HTML à partir de cet index>, je ne veux pas imprimer ceci dans la console – Dccc