[PHP] formula e ciclo

Baronpaolo

Nuovo Utente
5 Ott 2008
4
0
1
Buon giorno, ho un problema con una formula.

{$AF = ($Fst3+$Fst); //tipo di flusso
$TPP1= ((((2*(sqrt(2*($AF*((($Fst2-
$N1)-$T1A)-$AF)))))*$T1Q))); // equazione
$TP1= ($TPP1*100)/$T1L;} // conversione in %
if ($TP1 >= 100)

Questa formula di idrodinamica mi converte un 'altezza che inserisco io $N1 in una % $STP1

Da quanto ho capito e letto dovrei usare un ciclo perchè mi restituisca il valore desiderato e cioè, vorrei che se nella mia formula il risultato fosse per esempio 60% vorrei che la formula si ripeta finchè non mi dia $STP1 al 100% e quindi che mi dia il valore di $N1 .

Grazie in anticipo per l'aiuto.
 

macus_adi

Utente Attivo
5 Dic 2017
1.333
91
48
IT/SW
Prova con una ricorsione in questo modo:
PHP:
function testR($N1=3){
   $Fst3=3;
   $Fst=4;
   $Fst2=15;
   $T1A=3;
   $T1Q=3;
   $T1L=4;
   $AF = ($Fst3+$Fst);
   $TPP1= (2*(sqrt(2*($AF*((($Fst2-$N1)-$T1A)-$AF)))))*$T1Q;
 
   if($TPP1<60){
      echo 'Valore N1='.$N1.' prc='.$TPP1."\r\n";
      return $this->testR($N1-1);
   }
else{
   echo $N1.' valore azzeccato!';
}
}
I numeri sono puramente illustrativi!
 
  • Like
Reactions: Baronpaolo

Baronpaolo

Nuovo Utente
5 Ott 2008
4
0
1
Ieri sera ho fatto delle prove con function e return. Ma non funziona, nel senso :
Con un metodo mi diceva che:
Fatal error: Using $this when not in object context
Con altro metodo solo con return testR () ; if e else non mi riportavano a function.
Non ho capito poi come incremento il valore di $N1 di 1 ogni volta che esegue l'equazione viene ripetuta con function e return.

Grazie per l'aiuto.
 

macus_adi

Utente Attivo
5 Dic 2017
1.333
91
48
IT/SW
if($TPP1<60){
echo
'Valore N1='.$N1.' prc='.$TPP1."\r\n";
return
$this->testR($N1-1);
}
else{
echo
$N1.' valore azzeccato!';
}
Notazione OOP, mi sono dimenticato di cancellarti il "$this"...
Modifica
PHP:
return $this->testR($N1-1);
con
PHP:
return testR($N1-1);

La funzione è ricorsiva ed incrementa e/o decrementa il valore $N1
 

Baronpaolo

Nuovo Utente
5 Ott 2008
4
0
1
Forse ho capito perchè a me non da nessun risultato, nel tuo primo esempio, a ogni variabile hai dato un valore numerico. Io quei valori non li ho inseriti perchè sono valori presi da equazioni precedenti. E' possibile che le variabili dentro una Function non siano globali?
La sintesi del mio problema si risolve in: esegui e ripeti la funzione finchè il valore di $TP1 non raggiunge o supera il 100%

Ho provato a seguire i tuoi suggerimenti e ho impostato il codice come segue, ma non mi da nessun valore:

PHP:
function testR($Equi){
$AF = ($Fst3+$Fst); //tipo di flusso
$TPP1= ((((2*(sqrt(2*($AF*((($Fst2-$Equi)-$T1A)-$AF)))))*$T1Q))); // equazione
$TP1= ($TPP1*100)/$T1L; // conversione in %
if ($TP1 < 100){ // la % è inferiore a 100
echo "Inclianzione " .$Equi. " prc=" .$TP1."\r\n"; // visualizza Equi e %
return testR($Equi+1); // ritorna a functon e aggiungi +1 a Equi
}
else
echo $Equi."valore azzeccato!";
}}

e se mi "butto" su un GOTO ?
 

macus_adi

Utente Attivo
5 Dic 2017
1.333
91
48
IT/SW
Stai provando a leggere il contenuto di variabili non inizializzate dentro la funzione....

Le var, tipo "AF,Fst3 etc..." dovresti passarle alla funzione....
Ossia potresti passare un tipo di array associativo nella funzione....
PHP:
$var_da_passare_alla_funzione=["Equi"=>3,"AF"=>'valore af'..... etc...];
function testR($data){
//$AF=($Fst3+Fst) -> diventa
$data['AF']=$data['Fst3']+$data['Fst'].
etc...

}
Prova così o in alternativa passa tutte le variabili alla funzione!
 
Discussioni simili
Autore Titolo Forum Risposte Data
R [PHP] Problema stampa array bidimensionali con formula $html.=<<<myHtml... PHP 2
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 2
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4

Discussioni simili