php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.01.2011, 10:56  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Irgendwie muss man die Abwesenheit ja auch prüfen können, dafür gibts den Nullwert (der ja auch extra sprachlich vom Wert 0 abgetrennt wird).

In z.B. C/C++ ist ein NULL Pointer ein Zeiger auf den Speicherbereich an Adresse 0x00000000 - diesen Speicher kann seit jeher niemand reservieren (in Realmode Zeiten wurde an dieser Adresse die ersten 256 Byte des BIOS gespiegelt), daher wird die Speicherverwaltung niemals diese Adresse ausliefern - jede von 0x00000000 abweichende Adresse ist aber möglich.

Ein leerer String ist ein Pointer auf einen gültigen Speicherbereich (!= NULL), in dem als erstes Zeichen der Wert 0 steht (0 = Stringende in C-Strings).

Der Unterschied ist himmelweit
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.01.2011, 11:07  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

NULL Werte sind in vielerlei Hinsicht nötig und praktisch. Z.b. hast du ein Produkt und möchtest dazu einen Preis definieren. Dann hast du die Spalte Preis als float/integer oder ähnlichem. Angenommen es gibt jetzt Produkte die Beispielsweise noch keinen Preis haben (weil er dem Verkäufer eben noch nicht vorliegt). Was sollte man jetzt bei dem Produkt einstellen? 0? Nein weil dann könnte der Kunde das Produkt kostenlos in seinen Warenkorb legen. Oder man macht ne spezielle Behandlung für 0 sodass diese Produkte nicht angezeigt werden? Jetzt kann ich aber überhaupt keine kostenlosen Produkte anbieten (z.b. Werbeprodukte). Ich setz den Preis einfach negativ? Geht auch nicht, angenommen ich möchte einen Gutschein erzeugen der dann z.b. 10 Euro Wert ist, dann mach ich ein Produkt mit -10 Euro als Preis. Hier würde es also Sinn machen einen NULL Wert zu verwenden.

Oder anderes Beispiel: Du hast eine foreign key Beziehung zwischen zwei Tabellen. Z.B. Benutzer und Mitgliedskarte. Benutzer können sich so eine Mitgliedskarte kaufen, dann besitzen sie eine FK-Beziehung zu einer Mitgliedskarte. Benutzer müssen aber keine Karte besitzen. Wie willst du ohne NULL Werte sowas umsetzen? Wenn du in der Spalte die ID der Mitgliedskarte einträgst dann muss diese auch existieren, du kannst also nicht 0 oder einen anderen nicht existierenden Wert eintragen. Genau dafür ist wieder NULL zuständig.

Selbst in PHP gibt es "null" Werte.

@eagle275: Das Indizes immer eindeutig sein sollen ist doch auch Humbug. Wie viele Spalten gibt es mit einem Index die doppelte Werte enthalten? Namen, Geburtsdatum, Rang/Score Werte, boolean Werte (also 0/1 ints) und grad auch bei FK-Beziehungen (z.b. Benutzer gehört zu Gruppe) hast du viele Benutzer in der selben Gruppe und alle den selben Wert ...
Flor1an ist offline   Mit Zitat antworten
Alt 19.01.2011, 11:18  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

fang bitte nich mit Realmode an, ein gut platzierter Schreibender Speicherzugriff an

"0000:0020" sorgt für Freude - entweder sofort - oder später, wenn das Programm zu Ende ist .. diese ersten Bytes enthalten nämlich die Interrupt-Vektor Tabelle . 256 SprungAdressen á 4 Byte ... Ergo führen hier Änderungen zu recht interessanten Resultaten - und das auch noch relativ Plattformunabhängig .... (ich durfte das ganze auf einer Silicon Grafics "Onyx-2" 8-Prozessor-Maschine "ausprobieren" zu meiner Praktikumszeit)
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 19.01.2011, 11:20  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

vielen Dank für die Beispiele Florian.

Leuchtet ein, daß dort NULL Sinn macht.
__________________
Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.
Koala ist offline   Mit Zitat antworten
Antwort


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
[Erledigt] MySQL + PHP script De Sena PHP Einsteiger 8 09.01.2011 13:50
Frage zu openGeoDb Joe Off-Topic Diskussionen 18 30.11.2010 15:54
Fehler bei CSV Import > MySQL fulltilt Datenbanken 8 20.08.2010 14:53
Tabelle nach Join sortieren xhiBseN Datenbanken 9 29.03.2010 10:52
SQL richtig umwandeln :( Sp1n PHP Tipps 2010 6 29.01.2010 11:35
[Erledigt] Fehler in foreach zoro PHP Tipps 2009 25 08.10.2009 18:25
[Erledigt] im sql kann ich tabelle nicht hinzufügen autofieber Datenbanken 7 01.03.2009 18:38
[Erledigt] Problem bei INSERTEN INTO RedDragon PHP Tipps 2008 37 18.07.2008 16:26
Normalisierung einer chaotischen Tabelle maeck Datenbanken 10 12.12.2006 18:17
Updaten Delet und Insert klappen nicht PHP Tipps 2006 13 13.06.2006 13:59
[Erledigt] Bestell-Tabelle ok? PHP-Fortgeschrittene 4 28.11.2005 21:35
[Erledigt] Problem mit mySQL Datenbanken 7 27.09.2005 12:06
PHP-Fehlermeldung, weiss nicht mehr weiter PHP Tipps 2005-2 12 21.09.2005 12:56
Standart SQL Dump in PHP = Arbeits/Kostenersparnis ???????? PHP-Fortgeschrittene 7 12.06.2005 11:55
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datenbankeintrag is null, datenbankeintrag von 1 auf 0 geht nicht, null pointer \\0 stringende, php script mitgliederkarte

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:52 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