Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208

    Warning ma va tutto liscio. Come eliminarlo?

    Salve,
    sto passando una serie di parametri ad una funzione, tra le quali una chiave di un array che viene modificata all'interno.

    Il codice non è bellissimo da vedere, lo posto comunque. Quello che avviene è che nel momento in cui passo il nome della chiave tramite variabile ottengo Warning: Illegal string offset 'E VERS 1' in XXX on line 507.
    La cosa curiosa è che nonostante il warning, i dati finiscono perfettamente al loro posto.Posto il codice, lo ripeto, non è nè bello nè ottimizzato al momento, ma è un blocco complesso e lo sto curando in procedurale per ora. Come potrei eliminare questo warning, bruttino da vedere a video, senza disabilitare gli e-warning?

    Ho commentato in maniera generosa così da far capire meglio:

    Codice PHP:
    function Versamenti_process($datavers$evers$combine$versamenti$temp,$conn,$parsa,$parsa2,$keydata,$keyvers) {  
                                      
    $count count(explode("+"$datavers)); // conto gli elementi nell'eventuale array, non so a priori se lo è
                                     
    $check check_count($count); //check_count verifica se le date inserite sono più di una
                                        
    if(!$check) {
                    
    $explode=  explode_versamenti($datavers); //il nome autospiega
                    
    echo "explode vale ";print_r($explode); //stampo l'array che ne viene
                                    
    foreach ($explode as $data) { 
                        
    $data1 explode("/",$data); //separo gli elementi della data
                        
                        
    $data2 implode ("-"array_reverse($data1)); //ribalto gli elementi per formattare bene la data
                        
    $data3[]=$data2//salvo anno,mese,giorno in un altro array
                         
                                        
    }
                                    foreach (
    $data3 as $insert) { // devo inserire le due date in due insert separati. Ecco perchè il foreach
                                          
                              
    $parsa[$keydata] = $insert//LINEA 507 qui inserisco la data "raddrizzata" e passo $keydata che è il motivo dell'errore.
                    
    $parsa[$keyvers] = Centesimi($evers[$keyvers])/$count//
                    
    Versamenti_insert ($parsa,$conn);
                               }
                                           } else { 
    //se il primo count trova una sola data, procedo direttamente all'inserimento
                    
    $parsa[$keyvers] = Centesimi($parsa[$keyvers]);
                    
    Versamenti_insert($parsa,$conn);
                }
             }


    //$parsa è un array che nasce altrove dalla combinazione titolo/valore di un csv. 
    IMPLEMENTO

    Codice PHP:
    Versamenti_process($parsa['DATA VERS 1'], $parsa['E VERS 1'], $combine$versamenti1$temp1$conn$parsa$parsa2,'DATA VERS 1''E VERS 1'); 
    Ultima modifica di Korenaar; 21-12-2014 a 17:58

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.