循环读取数组

时间:2014-01-01 20:56:43

标签: php arrays

抱歉,如果这可以是一个简单的问题。我需要读取数组的索引值。我拥有并尝试纠正的代码只读取索引0.我试着用cicle但继续犯错误。

<? if($entrata != ""){

              $nome_condomino = getCondominoByIdEntrata($entrata[0]['id']);
              $saldo += (float) $entrata[0]['importo_versato'];

             //echo '<pre>' . print_r( $entrata,true ) . '</pre>';
            ?>
              <tr class="gradeX">
                <td class="center"><?echo $giorno;?></td>
                <td class="center"><?echo $nome_condomino[0]['nome_cognome'];?></td>
                <td class="center"><b><?echo "&euro; ".$entrata[0]['importo_versato'];?></b></td>
                <td class="center"><?echo "&euro; ".$saldo;?></td>
                <td class="center"><?echo $giorno_ok;?></td>
                <td class="center"><?echo $entrata_id[0];?></td>
              </tr>
          <? } ?>

我需要显示变量$ nome_condominio和$ entrata的其他索引值

那是print_r($ entrata,true)

  Array
  (
  [0] => Array
    (
        [0] => 41
        [id] => 41
        [1] => 35
        [id_condominio] => 35
        [2] => 38
        [id_condomino] => 38
        [3] => 12
        [importo_versato] => 12
        [4] => 2013-11-30
        [data] => 2013-11-30
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 
        [causale] => 
        [13] => 
        [causale_altro] => 
        [14] => 10_2013
        [causale_mese] => 10_2013
        [15] => Ottobre 2013
        [causale_mese_periodo_esteso] => Ottobre 2013
    )

[1] => Array
    (
        [0] => 40
        [id] => 40
        [1] => 35
        [id_condominio] => 35
        [2] => 52
        [id_condomino] => 52
        [3] => 18.2
        [importo_versato] => 18.2
        [4] => 2013-11-30
        [data] => 2013-11-30
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 2
        [causale] => 2
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

    )
    Array
    (
    [0] => Array
    (
        [0] => 39
        [id] => 39
        [1] => 35
        [id_condominio] => 35
        [2] => 34
        [id_condomino] => 34
        [3] => 12.5
        [importo_versato] => 12.5
        [4] => 2013-12-01
        [data] => 2013-12-01
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 2
        [causale] => 2
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

[1] => Array
    (
        [0] => 44
        [id] => 44
        [1] => 35
        [id_condominio] => 35
        [2] => 51
        [id_condomino] => 51
        [3] => 10
        [importo_versato] => 10
        [4] => 2013-12-01
        [data] => 2013-12-01
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 2
        [causale] => 2
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

    )
    Array
     (
  [0] => Array
    (
        [0] => 42
        [id] => 42
        [1] => 35
        [id_condominio] => 35
        [2] => 39
        [id_condomino] => 39
        [3] => 10
        [importo_versato] => 10
        [4] => 2013-12-03
        [data] => 2013-12-03
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 3
        [causale] => 3
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

     )
    Array
    (
    [0] => Array
    (
        [0] => 43
        [id] => 43
        [1] => 35
        [id_condominio] => 35
        [2] => 38
        [id_condomino] => 38
        [3] => 9
        [importo_versato] => 9
        [4] => 2013-12-05
        [data] => 2013-12-05
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 2
        [causale] => 2
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

    )

功能:

  function getCondominoByIdEntrata($idEntrata){
 $sql1 = "SELECT * FROM entrate WHERE id = '".$idEntrata."'";
  $r1 = executeQuery($sql1);

  $id_condomino = $r1[0]['id_condomino'];

  $sql2 = "SELECT * FROM anagrafe WHERE id = '".$id_condomino."'";
  $r2 = executeQuery($sql2);

   return $r2;
  }

print_r($ nome_condomino):

    Array
   (
    [0] => Array
     (
        [0] => 38
        [id] => 38
        [1] => 35
        [id_condominio] => 35
        [2] => Carlo Vincenzo
        [nome_cognome] => Carlo Vincenzo
        [3] => 
        [codice_fiscale] => 
        [4] => 
        [dati_catastali_foglio] => 
        [5] => 
        [dati_catastali_particella] => 
        [6] => 
        [dati_catastali_subalterno] => 
        [7] => 
        [dati_catastali_piano] => 
        [8] => 
        [recapito] => 
        [9] => 2
        [civico] => 2
        [10] => 
        [citta] => 
        [11] => TA
        [provincia] => TA
        [12] => 
        [telefono] => 
        [13] => 
        [cellulare] => 
        [14] => 
        [fax] => 
        [15] => 
        [email] => 
        [16] => 
        [pec] => 
        [17] => si
        [occupante_uguale_titolare] => si
        [18] => 
        [occupante] => 
        [19] => 
        [occupante_rapporto] => 
        [20] => 
        [occupante_telefono] => 
        [21] => 
        [occupante_cellulare] => 
        [22] => 
        [occupante_email] => 
        [23] => 
        [occupante_pec] => 
        [24] => 
        [nome_utente] => 
    )

    )
     Array
     (
     [0] => Array
    (
        [0] => 52
        [id] => 52
        [1] => 35
        [id_condominio] => 35
        [2] => Mario Giancarlo
        [nome_cognome] => Mario Giancarlo
        [3] => 
        [codice_fiscale] => 
        [4] => 
        [dati_catastali_foglio] => 
        [5] => 
        [dati_catastali_particella] => 
        [6] => 
        [dati_catastali_subalterno] => 
        [7] => 
        [dati_catastali_piano] => 
        [8] => Via Rossi
        [recapito] => Via Rossi
        [9] => 5
        [civico] => 5
        [10] => 
        [citta] => 
        [11] => 
        [provincia] => 
        [12] => 
        [telefono] => 
        [13] => 
        [cellulare] => 
        [14] => 
        [fax] => 
        [15] =>
        [email] => 
        [16] => 
        [pec] => 
        [17] => si
        [occupante_uguale_titolare] => si
        [18] => 
        [occupante] => 
        [19] => 
        [occupante_rapporto] => 
        [20] => 
        [occupante_telefono] => 
        [21] => 
        [occupante_cellulare] => 
        [22] => 
        [occupante_email] => 
        [23] => 
        [occupante_pec] => 
        [24] => 
        [nome_utente] => 
    )

    )

2 个答案:

答案 0 :(得分:1)

你希望foreach语句从数组中获取所有数据$ entrata&amp; $ nome_condominio。这样的事可能有用:

更新:

 <?php if($entrata != ""){
                 //echo '<pre>' . print_r( $entrata,true ) . '</pre>';
                $i = 0;
                foreach($entrata as $entr){
                    $nome_condomino = getCondominoByIdEntrata($entr['id']);
                    $saldo += (float) $entr['importo_versato'];
                ?>
                  <tr class="gradeX">
                    <td class="center"><?echo $giorno;?></td>
                    <td class="center"><?echo $nome_condomino['nome_cognome'];?></td>
                    <td class="center"><b><?echo "&euro; ".$entr['importo_versato'];?></b></td>
                    <td class="center"><?echo "&euro; ".$saldo;?></td>
                    <td class="center"><?echo $giorno_ok;?></td>
                    <td class="center"><?echo $entr['id'];?></td>
                  </tr>
               <?php 
                   $i++;
                } ?>
         <? } ?>

答案 1 :(得分:0)

好像$ entrata不是数组或是空的?尝试更改

if ($entrata != '') {

if (!empty($entrata) && is_array($entrata)) {

将确保您获得非空数组