Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-04-2010, 12:36   #1
Roran
Senior Member
 
L'Avatar di Roran
 
Iscritto dal: Aug 2006
Messaggi: 1730
[PHP] Struct come nel C,c'è un modo?

c'è un modo per creare delle struct come quelle del C in php?intendo delle struct come quelle utilizzate per le liste,in questo modo:

struct nodo {
int val;
struct nodo *next;
}
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb  MBA M3 13" 16/512 GB  AW 7  iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
Roran è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 14:32   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Una classe?
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 15:46   #3
Roran
Senior Member
 
L'Avatar di Roran
 
Iscritto dal: Aug 2006
Messaggi: 1730
come il java quindi?Chiedo perchè il php ad oggetti non l'ho mai provato
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb  MBA M3 13" 16/512 GB  AW 7  iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
Roran è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 15:47   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Io propenderei per una classe (anche perché non mi risulta che esistano strutture in PHP). Vai tranquillo, la sintassi delle classi di PHP è vagamente simile a Java, quindi non dovresti avere enormi difficoltà.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 17:20   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Un vettore associativo magari è più simile:

nodo['val'] = 0
nodo['next'] = &altronodo;
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 17:23   #6
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Oddio è un po' bruttino scomodare una hashmap per implementare una lista...
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 17:29   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Le struct quando il php non aveva le classi si realizzavano così
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 17:31   #8
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Uno dei motivi per cui preferisco Python.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 17:35   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
Uno dei motivi per cui preferisco Python.
Vorrei anche vedere. PHP è uno dei linguaggi più brutti della storia, però bisogna dire che a volte è veramente comodo.

Ultima modifica di cionci : 10-04-2010 alle 17:38.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 17:37   #10
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Esatto, PHP per certe cose è una specie di abominio, ma è letteralmente ovunque...
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 17:39   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Comunque la lista in php non si fa, è semplice...

Si fa un array, poi si usa array_push e array_pop. Se bisogna cercare un elemento si fa una ricerca direttamente.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 19:12   #12
Roran
Senior Member
 
L'Avatar di Roran
 
Iscritto dal: Aug 2006
Messaggi: 1730
Quote:
Originariamente inviato da cionci Guarda i messaggi
Comunque la lista in php non si fa, è semplice...

Si fa un array, poi si usa array_push e array_pop. Se bisogna cercare un elemento si fa una ricerca direttamente.
esistono gia queste due funzioni?si può fare su un array associativo?
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb  MBA M3 13" 16/512 GB  AW 7  iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
Roran è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 19:37   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Roran Guarda i messaggi
esistono gia queste due funzioni?si può fare su un array associativo?
Certo che esistono: http://www.php.net/manual/en/function.array.php
array_push, array_pop, array_shift, array_unshift non prendono la chiave, ma usano gli interi come chiave. Puoi comunque fare il push di un altro array associativo.
Tutti gli array sono associativi in PHP.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 19:39   #14
Roran
Senior Member
 
L'Avatar di Roran
 
Iscritto dal: Aug 2006
Messaggi: 1730
Per provare con un classe avevo provato in questo modo:
Codice:
class commenti
{
public $nick;
public $comm;

function __construct($nickname,$commento){
$this->nick=$nickname;
$this->comm=$commento;
}
}// FINE CLASSE


//MAIN
$nomefile="commenti.txt";
$obj=new commenti('Roran','prova classe');
echo $obj->nick."<BR>".$obj->comm;
funziona però non ho risolto nulla,dato che devo implementare i metodi per creare una lista dinamica

Oggi invece ho provato in questo modo:
Codice:
class Commento{
private $nickname;
private $commento;
private $next=new Commento();

function __construct($nickname,$commento,$n){
$this->nickname=$nickname;
$this->commento=$commento;
$this->next=$n;
}
}// FINE CLASSE COMMENTO
che ovviamente non funziona perchè mi da errore sulla riga dove dichiaro $next
per fare in questo modo mi sono basato sulla creazione di un nodo di una lista,scritto in java,come segue:
Codice:
public class Commenti{
 private static class Elem{
   private String nickname;
   private String commento;
   private Elem next;

  private Elem(String nick,String comm,Elem n){
    nickname=nick;
    commento=comm;
    next=n;
  }
 }
}
come posso fare la stessa cosa modificando la parte in php che ho scritto sopra?
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb  MBA M3 13" 16/512 GB  AW 7  iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
Roran è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 19:51   #15
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci Guarda i messaggi
Vorrei anche vedere. PHP è uno dei linguaggi più brutti della storia
  Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 20:00   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
class Commento{
private $nickname;
private $commento;
private $next;

function __construct($nickname,$commento,$n){
$this->nickname=$nickname;
$this->commento=$commento;
$this->next=&$n;
}
}// FINE CLASSE COMMENTO

Come ti ho detto, non ha senso creare una lista in PHP, puoi benissmo usare un vettore di classi commento ed usare array_push per l'inserimento in coda e array_shift per la rimozione dalla testa.
Per scorrerti l'intera lista fai un semplice foreach e per cercare un elemento usi le varie funzioni per la ricerca.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 20:09   #17
Roran
Senior Member
 
L'Avatar di Roran
 
Iscritto dal: Aug 2006
Messaggi: 1730
Quote:
Originariamente inviato da cionci Guarda i messaggi
class Commento{
private $nickname;
private $commento;
private $next;

function __construct($nickname,$commento,$n){
$this->nickname=$nickname;
$this->commento=$commento;
$this->next=&$n;
}
}// FINE CLASSE COMMENTO

Come ti ho detto, non ha senso creare una lista in PHP, puoi benissmo usare un vettore di classi commento ed usare array_push per l'inserimento in coda e array_shift per la rimozione dalla testa.
Per scorrerti l'intera lista fai un semplice foreach e per cercare un elemento usi le varie funzioni per la ricerca.
mmm ecco,forse ora ho capito meglio,quindi posso tranquillamente togliere i campi next nella classe e poi faccio un vettore della classe commento?

edit: però se volessi cancellare un commento che sta in mezzo al vettore?la pop che io sappia non va bene,o mi sbaglio?
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb  MBA M3 13" 16/512 GB  AW 7  iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
Roran è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 20:14   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Roran Guarda i messaggi
edit: però se volessi cancellare un commento che sta in mezzo al vettore?la pop che io sappia non va bene,o mi sbaglio?
http://www.php.net/manual/en/function.array-search.php
Guardatelo l'help
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 20:20   #19
Roran
Senior Member
 
L'Avatar di Roran
 
Iscritto dal: Aug 2006
Messaggi: 1730
Quote:
Originariamente inviato da cionci Guarda i messaggi
grazie del link,domani lo guardo con calma
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb  MBA M3 13" 16/512 GB  AW 7  iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
Roran è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 20:21   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Se vuoi eliminare un elemento usa unset(v[x]);
Se vuoi inserire un elemento ad un dato indice usa array_splice.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
NVIDIA mostra una comunità di rob...
Sony annuncia LYTIA L910, arriva il sens...
Ericsson, il 5G è l’infrastruttur...
Marvell punta tutto su TSMC A14: sar&agr...
Hyundai a un passo dal controllo totale ...
Questo SSD vecchio 16 anni ha resistito ...
Monopattino elettrico Xiaomi in offerta:...
Microsoft usa le capre di Age of Empires...
Microsoft conferma bug nel Cestino in tu...
Accenture crolla del 20% in borsa, il pe...
ASUS Pro WS W890E-SAGE SE: sette PCIe 5....
Attenzione al prezzo di questa TV Hisens...
Chrome sbeffeggiato da Ballmer nel 2009:...
Un gioco Mac compatibile con Apple Silic...
La batteria allo stato solido di Honda s...
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: 23:12.


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