|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
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
|
|
|
|
|
|
#2 |
|
Senior Member
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! |
|
|
|
|
|
#3 |
|
Senior Member
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
|
|
|
|
|
|
#4 |
|
Senior Member
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! |
|
|
|
|
|
#5 |
|
Senior Member
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; |
|
|
|
|
|
#6 |
|
Senior Member
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! |
|
|
|
|
|
#7 |
|
Senior Member
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ì
|
|
|
|
|
|
#8 |
|
Senior Member
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! |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
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 18:38. |
|
|
|
|
|
#10 |
|
Senior Member
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! |
|
|
|
|
|
#11 |
|
Senior Member
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. |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
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
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
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. |
|
|
|
|
|
|
#14 |
|
Senior Member
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;
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
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;
}
}
}
__________________
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
|
|
|
|
|
|
#15 |
|
Messaggi: n/a
|
|
|
|
|
#16 |
|
Senior Member
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. |
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
Quote:
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
|
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Guardatelo l'help |
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
Quote:
__________________
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
|
|
|
|
|
|
|
#20 |
|
Senior Member
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. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:12.










14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83









