php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.05.2006, 22:19  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard Sinn von unset

Jetzt mal eine Frage von mir (sonst beantworte ich ja lieber )

Welche tieferen Sinn hat eigentlich "unset($var)"? Also, ich verwende es relativ häufig, aber mehr, um die Übersicht zu waren, nicht aus irgendwelchen Performance-Gründen. Nun könnte man sich überlegen, dass es bei Werten mit festen Größen wie Integer eher unvorteilhaft ist diesen Speicher immer wieder frei zu geben, weil man ständig Speicher frei gibt, den man eventuell im nächsten Atemzug wieder belegt. Aber bei Werten mit variabler Größe, wie Arrays und Strings kann ich mir keinen Reim daraus machen, ob es nun vorteilhaft ist... Wenn ich nun ein Array habe und dem ein neues Array zuweise, dass eine andere Größe hat, dann wird ja sowieso einiges in der Speicherverwaltung in Bewegung gesetzt. Ist es dann noch besonders nachteilig, wenn man vorher mit unset den Speicher frei gibt und dann mit dem neuen Array wieder neuen Speicher "zu beantragen".

oha, klingt ein wenig wirr... Von mir gemeint ist auf jeden Fall, dass ich zwischendurch öfter mal temporäre Variablen einführe, die nur für ein paar Zeilen einen Sinn erfüllen. Danach gebe ich sie wieder mit unset frei. Nun frag ich mich allerdings, ob es perfomanter (gibs das Wort?) ist, wenn ich die Variable einfach stehen lasse und später überschreibe, vorallen da sie in der Zwischendurch auch regelmässig bis ständig den Typ und damit die Größe wechseln würden.

Ich befürchte, dass ich, um es selbst raus zu finden, tieferen Einblick in PHP brauche (speziell Speicherverwaltung nocht spezieller bei Typkonvertierung), den ich leider nicht habe
KingCrunch ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.05.2006, 09:33  
Erfahrener Benutzer
 
Registriert seit: 02.10.2003
Beiträge: 118
MaLo
Standard

Mh unset kann schon praktisch sein. Ich habe mal ein Script geschrieben was ne relativ aufwändige mathematische Umformung macht. Das Ding hat vorne und hinten gemeckert wegen zu wenig RAM, bis ich unset ins Spiel gebracht hab,

War teil eines Browsergames, einer Berechnung zum Vorzielen auf ein bestimmtes bewegliches Ziel.

2. Beispiel: http://malo.ircis.de/pascal.php?c=5

Ein Script zum berechnen eines Pascalschen dreiecks. Die Zahl hinter dem c gibt an wieviele Reihen man möchte. (Zur Zeit ist max. 10 zugelassen da das Script böse missbraucht wurde).
Ich hab aber mal ein 150-Zeiliges Dreieck berechnen lassen XD und da gabs auch Ramprobleme.

Es wird immer anhand $field[$reihe] die nächste reihe, also $fied[$reihe+1] berechnet. Jedes Dieser Elemente enthielt dann noch ein Array mit den Spalten. Und am ende einer Zeile wurde dann $field[$reihe] gelöscht und $reihe um eins erhöht.
__________________
MaLo ist offline  
Alt 20.05.2006, 10:19  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Zitat:
Zur Zeit ist max. 10 zugelassen da das Script böse missbraucht wurde).
Also ich weiß ja nicht wie du das prüfen lässt, aber fehlerhaft is deine Prüfung allemal.:

http://malo.ircis.de/pascal.php?c=150 funktioniert zwar nicht, dafür aber
http://malo.ircis.de/pascal.php?c=100 ...
Chr!s ist offline  
Alt 20.05.2006, 10:38  
Erfahrener Benutzer
 
Registriert seit: 02.10.2003
Beiträge: 118
MaLo
Standard

ahso .. mh lang her als ich das Script geschrieben hab ^^ kann sein das der Default Wert 10 ist wenn was ungültiges eingegeen wurde aber bis 100 funktionierts ... ach ka War bestimmt vor nem jahr oder so und ich scripte jeden Tag :P
__________________
MaLo ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Macht diese Struktur Sinn? Ghosti Datenbanken 17 24.04.2008 08:24
Macht diese Index-Verteilung Sinn? R4v3r Datenbanken 1 28.02.2007 13:55
Macht es Sinn den Variablen Typ manuell festzulegen? <Daniel> PHP Tipps 2006 3 09.10.2006 12:34
Der Sinn von OOP bei php Melchior PHP-Fortgeschrittene 2 16.07.2006 23:50
Performance - Was macht mehr Sinn? (Script-Splitting) Geier PHP Tipps 2006 10 07.06.2006 15:41
wird vom objekt belegter speicher mit unset freigegeben? Manuchau PHP Tipps 2006 8 10.04.2006 12:08
unset() in Methode Werkler PHP Tipps 2006 2 28.03.2006 21:59
Problem mit unset() und SESSION PHP Tipps 2007 3 17.11.2005 16:48
Der Sinn von ordnerbasierten Systemen PHP-Fortgeschrittene 8 09.10.2005 20:33
Ist dies emphelenswert und ergibt dies einen guten sinn? lalala HTML, Usability und Barrierefreiheit 22 20.07.2005 15:26
unset, wieso funktioniert das nicht? PHP Tipps 2005-2 2 18.07.2005 11:32
session unset und denoch-der brower zurückbutton geht PHP-Fortgeschrittene 1 12.01.2005 10:55
unset wirkungslos...was mach ich falsch PHP Tipps 2004-2 13 21.12.2004 17:22
unset geht nicht PHP Tipps 2004 5 02.07.2004 22:33
Macht Entwicklung phpGTK Sinn? PHP Tipps 2004 9 24.06.2004 09:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
unset php, php unset variable macht das sinn?, unset php sinn, php variablen unset alle zwischendurch

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:03 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.