2010-12-01 5 views
0

J'essaie d'imprimer l'élément [0] d'un tableau. Le code ci-dessous crée mon tableau, mais la sortie juste dit « Array »Les éléments du tableau n'apparaissent pas?

$this->db->select('company_name'); 
$query = $this->db->get('companies'); 
$query = $query->result_array(); 
echo $query['company_name']; 

Répondre

0

Ce que vous essayez de faire est d'écho un tableau lui-même. Si vous essayez juste de faire écho à un tableau, PHP ne vous montrera pas le contenu. Lorsque vous obtenez des résultats d'une base de données, il s'agit généralement d'un tableau à deux dimensions, c'est-à-dire un tableau dont les données sont plus de tableaux. Si vous renvoyez les données dans l'index 1 du tableau le plus haut, vous essayerez d'échouer un tableau, puisque c'est ce qui se trouve dans le premier tableau.

Pour obtenir le contenu, vous devez utiliser deux index; un pour l'indice du tableau, et un pour l'indice des données dans ce tableau:

<?php 
    $my_array = array(array(8, 2, 4), array(7, 12, 32), array(62, 2, 1)); 
    echo $my_array[1][1] // echos 12 
    echo $my_array[1] // echos "Array" because the data at index 1 is an array 
?> 

Ou peut-être vous voulez voir tout le contenu du tableau. Si oui, la fonction print_r() est votre ami. Il est récursive et vous permet de voir le contenu des tableaux dans des tableaux:

<?php 
    $my_array = array(array(8, 2, 4), array(7, 12, 32), array(62, 2, 1)); 
    print_r($my_array); 
    /* 
     The above will output the following: 
     Array 
     (
      [0] => Array 
       (
        [0] => 8 
        [1] => 2 
        [2] => 4 
       ) 

      [1] => Array 
       (
        [0] => 7 
        [1] => 12 
        [2] => 32 
       ) 

      [2] => Array 
       (
        [0] => 62 
        [1] => 2 
        [2] => 1 
       ) 
     ) 
    */ 
?> 

Vérifiez la référence au print_r() PHP Reference pour plus d'informations.

+0

Vous avez clairement pas compris la question – roger

+0

Vous avez raison. Je l'ai mal lu. Est-ce que cela a plus de sens? –

+0

Merci. Cela a vraiment aidé. – roger

0

Havent utilisé PHP pendant un certain temps, mais faire quelque chose comme:

print_r($query); 

qui affiche tout de cet objet, puis vérifiez voyez si l'index que vous regardez est un tableau lui-même, car vous ne pouvez vraiment répercuter la valeur de quelque chose que s'il contient une seule valeur opposée à une liste de valeurs.

1

$query['company_name'] est un tableau. Pour plus de détails, utilisez print_r($query['company_name']);.

+0

Pourquoi serait-ce un tableau. Sûrement $ query = $ query-> result_array(); retournerait un tableau avec tous les résultats en? – roger

0

$query['company_name'] est un tableau, ce tableau correspond à la valeur pour le champ « company_name » pour chaque enregistrement dans l'ensemble de résultats retournés,

$query['company_name']['0'] est donc le company_name dans la première ligne de retour.

Par conséquent, vous voulez soit:

echo $query['company_name'][0]; 
print $query['company_name'][0] 
print_r($query['company_name']); 

Il suffit de faire:

print_r($query); 

vous donnera une idée de la façon dont le retour est structuré ResultSet.

+0

Message: Indéfini: nom_entreprise – roger

Questions connexes