Hallo Linuchs,
Warum sollte ich etwa den dritten Vornamen eines Kunden übertragen, wenn ich nicht weiss, ob er überhaupt einen dritten Vornamen hat? Der Wert "" bedeutet: Kein dritter Vorname vorhanden. Das wäre eine Information.
Eine Information wäre auch der Unterschied zwischen „er hat keinen Vornamen“ (Leerstring) und „kenn ich nicht“ (NULL). Siehe auch anschauliche Erklärung.
Was bitte sollte NULL bei einer Übertragung bewirken? Die Mitteilung der eigenen Unkennntnis?
Würde ich sagen, kann eine wichtige Information sein.
Aber wie willst du den Text "NULL" interpretieren?
Im CSV-Kontext als Text. Wenn ich NULL übertragen wollen würde, würde ich auf ein Format wie JSON zurückgreifen, anstatt etwas Eigenes zu definieren, bei dem man meist irgendetwas zu berücksichtigen vergisst, was einem dann das ganze Format zerschießt. Außerdem braucht man nicht aufwändig einen CSV-Parser bauen, in PHP (und den meisten anderen Sprachen bzw. Bibliotheken) gibt es dafür schon etwas passendes.
Irgend eine durchgeknallte Punkband heisst bestimmt "NULL" - und nun?
In JSON-Notation kein Problem:
{
"null":null,
"null (string)":"null",
"NULL (String)":"NULL",
"Leerstring":""
}
... sieht in PHP so aus:
$arr = [
'null' => null,
'null (string)' => 'null',
'NULL (String)' => 'NULL',
'Leerstring' => ''
];
Gruß
Julius