Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max mette un pannello IPS da 13 pollici con risoluzione 2,5K e refresh a 120 Hz davanti a una batteria da 10.100 mAh e a quattro altoparlanti. Il listino parte da 399,90 euro, per un progetto molto chiaro e ambizioso: schermo ampio, buon audio e giornate lontano dalla presa, a un prezzo che non pesa sul portafoglio
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-10-2015, 13:38   #1
Omicron36
Junior Member
 
Iscritto dal: Oct 2015
Messaggi: 5
[PHP] Dubbio su ciclo for + include

Salve a tutti,

Avrei un piccolo dubbio sulla logica alla base dell'istruzione "include". Il dubbio è nato dall'analisi di questo semplice script php ("index.php") che, semplicemente, dovrebbe contare i numeri da 1 a 10 per poi stamparli su schermo eseguendo l'istruzione del file "count.html".


index.php:
Codice:
<?php
$output = "";
for ($count = 1; $count <= 10; ++$count)
{
	$output .= "$count ";
}

include "count.html";
count.html:
Codice:
<!DOCTYPE html>
<html lang="it">
    <head>
        <meta charset="utf-8">
        <title>test 1</title>
    </head>
    <body>
	    <p>
		<?php echo $output; ?>
	    </p>
    </body>
</html>
Sicuramente il mio dubbio è sciocco, ma non riesco a capire un concetto:

Ragionando linearmente, quali sono i passaggi d'esecuzione del codice della pagina "index.php"? Come andrebbe letto a livello di passaggi ripetuti in ciclo? Nella mia testa il ciclo for dovrebbe continuare a impostare i nuovi valori della variabile $output fino a quando $count sia <=10 e solo dopo passare all'istruzione include "count.html". Quindi, nella mia testa, il valore $output dovrebbe sovrascriversi fino ad essere uguale a 10 e solo a quel punto passare all'istruzione include stampando su schermo unicamente il valore 10.

Chiaramente non è così e, count.html, stampa su schermo il seguente risultato:

1 2 3 4 5 6 7 8 9 10


Spero di essere riuscito a spiegarmi. Sapreste aiutarmi?
Omicron36 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2015, 14:11   #2
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Il tuo ragionamento non fà una grinza! A parte il fatto che in quello specifico esempio la variabile $output non venga sovrascritta ma funga da accumulatore per il valore $count.
L'istruzione $output .= "$count " concanena "$count " all'ultimo valore di $output. Per ottenere il comportamente da te immaginato ti basta levare il . e lasciare solo =.
Tutto ti sarà più chiaro guardando qui
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2015, 14:22   #3
antonio338
Senior Member
 
L'Avatar di antonio338
 
Iscritto dal: Aug 2003
Messaggi: 1174
Puoi sempre includere un if all'interno del tuo ciclo for.
Quindi diventerebbe:

Codice:
if ($count === 10) {
include "count.html";
}
e eseguire altro codice solo quando il contatore ha raggiunto il valore di 10.
__________________
VENDITORI ONESTI: krieger, Corrente Elettrica, Cina.Z, Poliacido, Fedemike82, Lucas01, rikop, SystemR89
VENDITORI DA EVITARE: Ancora nessuno
antonio338 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2015, 14:52   #4
Omicron36
Junior Member
 
Iscritto dal: Oct 2015
Messaggi: 5
Perfetto! Dunque la mia lacuna, in realtà, è legata al funzionamento di questo operatore:

.=

Riassumendo, scrivere questo:

Codice:
$a .= $b
Equivale a scrivere questo:

Codice:
$a = $a . "$b"
Il dubbio però rimane il medesimo!
Ho provato a fare questo esperimento:

Codice:
<!DOCTYPE html>
<html lang="it">
    <head>
        <meta charset="utf-8">
        <title>test 1</title>
    </head>
    <body>
	
	   <?
           $a = "";
	   for ($b = 1; $b <=10; ++$b)
	   {
             $a .= "$b ";
	   }
		   	   
             echo "$a";
	   ?>
			   
    </body>
</html>
Il risultato di questo script, su schermo, è 1 2 3 4 5 6 7 8 9 10. Anche questa volta mi aspettavo semplicemente 10!

Richiedendo l'echo di $a (alla fine del ciclo) dovrei ottenere questo: $a . "$b"
dove $b, sempre alla fine del ciclo, dovrebbe avere il valore di 10!

Cosa continua a sfuggirmi??

Ultima modifica di Omicron36 : 22-10-2015 alle 15:10.
Omicron36 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2015, 15:17   #5
Omicron36
Junior Member
 
Iscritto dal: Oct 2015
Messaggi: 5
Eureka!

Ho finalmente compreso.
In sostanza, durante il ciclo, la variabile $a acquisisce cumulativamente pezzetti di testo!

Prima $a è vuota.
Poi diventa "1 "
Poi diventa "1 2 "
Poi diventa "1 2 3 "

E così via.

Dunque, alla fine del ciclo, $a sarà semplicemente 1 2 3 4 5 6 7 8 9 10!

Perfetto. Grazie mille per l'aiuto, non avevo colto di aver male interpretato, in realtà, il funzionamento dell'operatore .=

Alla prossima!
Omicron36 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Anthropic: IPO tra 70 e 78 dollari, Goog...
SSHole in OpenSSH è già sfruttata: la CI...
Secure Future Group: il rischio cyber si...
Recensione Anker MagGo Power Bank 2 Pro,...
Salesforce Agentforce Coworker: il colle...
Sirui porta l’autofocus luminoso sotto i...
BluePhishing, il nuovo metodo di attacco...
Elon Musk parla dei propulsori Raptor 4 ...
NVIDIA, la vicenda Jensen Huang finisce ...
Spiare un monitor dal cavo HDMI: un'IA a...
Infomaniak lancia lo storage a oggetti S...
Rocket Factory Augsburg ha posticipato i...
Lightning Tables, Confluent promette olt...
Isar Aerospace potrebbe lanciare nuovame...
Boston Dynamics ha messo le ruote da mon...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v