2011-05-25 3 views
2

Est-il acceptable de transmettre un tableau dans un argument de fonction? Par exemple,Passage de tableau au paramètre de fonction

function something() 
{ 
if ($this->db->insert($this->table_name, $data)) { 
$data = array(
    'user_id' => $this->db->insert_id(); 
    'first_name' => $this->form_validation->set_value('first_name'), 
    'last_name' => $this->form_validation->set_value('last_name'), 
    ); 


if ($activated) 
      $this->create_profile($data); 
      return array(//not sure why i'm returning this 
         'user_id' => $user_id, 
         'first_name' => $first_name, 
         'last_name' => $last_name, 
    }     ); 
    return NULL; 
    } 

puis passer que pour

private function create_profile($data) 
    { 
    return $this->db->insert($this->profile_table_name, $data) 
    } 

le script est d'un plugin CodeIgniter que je Modified, donc j'essaie de ne pas boucher trop.

+1

Pourquoi ne pas ....... – Dani

+0

parce que je ne comprends pas encore pleinement :( – CyberJunkie

+0

quand vous obtenez tout votre code fonctionne comme vous le voulez? Assurez-vous d'éditer votre message pour l'inclure, comme c'est le cas maintenant, il y a des accolades bizarres dans le tableau 'return (' et probablement un '' '' 'after (if ($ activé)' manquant. édite moi-même, mais l'intention n'est pas claire là où le '' '' est manquant –

Répondre

2

Il est tout à fait correct de passer un tableau à une fonction. La plupart des fonctions array_*() intégrées de PHP reçoivent des paramètres de tableau, puis retournent des tableaux.

Et pour retourner un tableau de la fonction - c'est un excellent moyen de retourner plusieurs valeurs à partir d'une seule fonction.

+0

ooh je vois! thx. puis-je retourner '$ data'? au lieu de chaque valeur? – CyberJunkie

1

Est-il acceptable de transmettre un tableau dans un argument de fonction? =>OUI!

1

Si vous devez renvoyer plusieurs valeurs, un tableau est un moyen de le faire.

Vous pouvez également renvoyer un objet, instancier simplement stdClass et définir les propriétés.

1

Il est correct de passer un array en tant que paramètre et il est correct de renvoyer un array comme résultat. Dans PHP nous le faisons tout le temps.

Il est également possible de passer et de retourner des tableaux dans d'autres langues ... comme dans Python ils le font souvent, par ex. process_parameters(*parameters).

Il est même correct si vous passez un objet! Ou retourner un objet ... Comme si:

$dbConnection = get_db_connection('mysql'); // $dbConnection is an instance of MySQLDbConnection now 
Questions connexes