Der Umgang mit leeren ElementeLeere Elemente sind Elemente innerhalb einer Liste, die keinen Wert enthalten. Um zu sehen, wie man mit ihnen umgehen, nehmen Sie die folgende Liste: Wie viele Elemente sind in myList? Sie hatte sechs denken, aber ColdFusion-Liste nur vier Funktionen siehe da ColdFusion leere Liste Elementen zählt, wie die zwischen Birne und Orange und die leere Element am Ende der Liste wie nicht existent. Wenn Sie ein leeres Element benötigen, müssen Sie Räume, in die Liste gesetzt werden, wie im folgenden Beispiel: Eine gute Praxis ist es, leere Elemente, wenn möglich zu vermeiden. ColdFusion-Liste-Processing-Funktionen funktionieren anders, als die Liste-Processing-Funktionen in den meisten anderen Sprachen und könnte eine Übertragbarkeit Ausgabe vorgestellt werden. Was passiert, wenn Sie plötzlich notwendig, um ein Semikolon als Trennzeichen Liste statt eines Kommas verwenden? Sie würden ListChangeDelims () verwenden, wie folgt: myList enthält nun "Apfel, Birne, Orange, Banane". Das Interessante an ListChangeDelims () ist, dass es entfernt automatisch leere Elemente. Nehmen wir zum Beispiel, die folgende Liste:
ListChangeDelims () zurückkehren würde "Apfel, Birne, Orange, Banane". Mit ListChangeDelims (), daher ist auch ein guter Weg, um leere Elemente, auch wenn Sie nicht die Trennzeichen zu entfernen, wie folgt: Die Listen, die wir verwendet haben, in den vorhergehenden Teilen haben alle in zufälliger Reihenfolge sind. Wenn Sie Elemente in einer Liste müssen in einer bestimmten Reihenfolge, können Sie ListSort () verwenden, wie folgt: Nach dem Aufruf ListSort (), würde myList folgende Angaben enthalten: Apfel, Banane, Orange, Birne Wie funktioniert ListChangeDelims (), ListSort () entfernt leere Elemente. Das zweite Argument von ListSort () ist die Art der Art zu erfüllen. Dieses Argument kann eine der drei folgenden Werte: Numerisch: Sortiert die Liste numerisch. Wenn eine Liste Element kann nicht in eine Zahl umgewandelt werden, wirft ColdFusion einen Fehler. Text: Sortiert die Liste alphabetisch, sondern Groß-und Kleinschreibung. Versuchen Sie fordern ListSort () auf der folgenden Liste: Birne, Apfel, Banane, Pfirsich Dieser Aufruf liefert die folgenden: Banane, Birne, Apfel, Pfirsich Ein Groß-und Kleinschreibung Art gibt immer Großbuchstaben vor Kleinbuchstaben; als solche haben, keine Wörter durchgehend in Großbuchstaben, bevor eine erste-capped Worte zu sortieren. Allein die Tatsache, dass ein Schreiben in Großbuchstaben ist genug, um zu gewährleisten, dass das Schreiben wird vor allen Kleinbuchstaben kommen. Textnocase: Sortiert die Liste alphabetisch, ignorieren Fall. Calling ListSort () in der obigen Liste würde die nach der Rückkehr: Apfel, Banane, Pfirsich, Birne Das dritte Argument zu ListSort () kann ASC oder DESC je nachdem, ob Sie ein-oder absteigend sortieren. Nehmen wir an, dass Sie die folgende Liste hatte: Birne, Orange, Zitrone, Zitrone Aber nehmen wir auch, dass Sie wollte es in einer Abfrage wie die folgende verwenden: SELECT * FROM WHERE Fruit FruitName IN ( 'php', 'orange', 'Zitrone', 'Zitrone') Man konnte nicht einfach verwenden, wie folgt: SELECT * FROM WHERE Fruit FruitName IN (# # myList) Das liegt daran, myList nicht einfache Anführungszeichen um ihre Produkte haben, und die Datenbank würde einen Fehler werfen, wenn sie versuchte, die Abfrage auszuführen. Bevor Sie myList in einer Abfrage müssen Sie die Liste Elemente qualifizieren, indem sie umgebenden mit einfachen Anführungszeichen. ColdFusion bietet eine Funktion namens ListQualify () genau das zu tun, wie das folgende Beispiel zeigt: SELECT * FROM WHERE Fruit FruitName IN (# ListQualify (myList, "'")#) Das zweite Attribut beschreibt die Qualifikation in diesem Fall ein einfaches Anführungszeichen. Arrays, ebenso wie Listen, speichern mehrere Werte unter einem Namen und eine Bibliothek mit Funktionen um sie herum gebaut. Im Gegensatz zu Listen jedoch Arrays zu speichern Daten in getrennten Abteilungen und nicht nur als String zurück. Wo Listen sind einfache Variablen (das heißt, sie sind nur einfache Strings mit formal definierten Trennzeichen), Arrays sind komplexe Variablen, was bedeutet, dass sie mehr enthalten können als einen einzigen Wert, und erstellen Sie programmgesteuert adressierbare Fächer für diese Werte. Im Gegensatz zu einer Liste, die eine einfache String-Variable ist ein Array ist eine besondere Art von Objekt, das durch den Aufruf einer Funktion namens ArrayNew () angelegt wird, wie folgt: ArrayNew () erzeugt ein neues, ein-dimensionalen Array-Objekt, und es weist auf die Variable myArray. Ein Array kann bis zu drei Dimensionen. Ein eindimensionales Array wird ein Stack von Elementen. Ein zweidimensionales Array ist wie ein Netz von Elementen. Wie Sie wahrscheinlich erraten, ein dreidimensionales Array ist wie ein Würfel von Elementen. Mehrdimensionale Arrays sind selten sinnvoll, wenn du tust Matrix Mathematik (die niemand tun sollte in ColdFusion anyway). Sie verweisen auf ein Array-Element durch Stellenwertsystem, wie folgt:
Das Snippet gibt die zweite Element im Array. Der Index eines Arrays (die Zahl zwischen den eckigen Klammern) kann auch eine Variable mit einem numerischen Wert. Arrays zu erwähnen, dass die Zählung mit 1 beginnen mag überflüssig, aber in den meisten Computer-Sprachen wie JavaScript-Arrays beginnen bei Element 0. Bewahren Sie diese Tatsache vor Augen, wenn Sie jemals ein JavaScript-Array füllen mit ColdFusion Array-Elemente. Um ein Element an das Ende eines Arrays verwenden ArrayAppend add () wie folgt: Beachten Sie den Unterschied zwischen ListAppend () und ArrayAppend () in die folgenden Beispiele: ListAppend () verändert nicht die ursprüngliche Liste, sondern gibt es die ursprüngliche Liste mit dem neuen Element angehängt. ArrayAppend (), jedoch ändert das ursprüngliche Array. Das einzige, was ArrayAppend () liefert immer TRUE ist, so dass Sie brauchen noch nicht einmal, um die Rückkehr Wert zu speichern. ColdFusion ist auch ein ArrayPrepend ()-Funktion, wie folgt: Sie können auch ein neues Array-Element zwischen den bereits bestehenden Elementen. Nach dem Aufruf ArrayNew () und ArrayAppend () zuvor in diesem Artikel, zum Beispiel, sieht myArray wie folgt: 1: Pfirsich 2: Apfel Sie können ein neues Element zwischen den beiden mit ArrayInsertAt () mit folgendem Wortlaut hinzuzufügen: myArray hat nun ein neues Element zwischen Pfirsich und Apfel, wie das folgende zeigt: 1: Pfirsich 2: Zitrone 3: apple Sie können auch Array-Elemente durch die direkte Zuweisung eines Wertes zu einer Position, wie folgt: Nun hat myArray ein viertes Element, wie Sie in das folgende Ergebnis zu sehen: 1: Pfirsich 2: Zitrone 3: apple 4: Blaubeere Sie können auch überspringen Elemente, wie folgt: Dieser Code führt zu einem anderen Array-Element in myArray, wie im folgenden dargestellt: 1: Pfirsich 2: Zitrone 3: apple 4: Heidelbeere 5: Beachten Sie, dass kein Element liegt auf Platz 5 in myArray. Dieses Ergebnis bedeutet nicht, dass das Element leer ist, es einfach nicht existieren. Der Unterschied zwischen leeren und nicht existent ist manchmal schwer zu verstehen, aber es läuft darauf hinaus, dieses: Der Versuch, myArray [5] zu verwenden, wenn das fünfte Element nicht vorhanden ist ein Fehler zu werfen, wenn der Erwägung, dass das fünfte Element leer ist, myArray [5 ] wird eine leere Zeichenkette. Sie können ein Element aus einem Array mit ArrayDeleteAt delete (), wie folgt: Diese Linie löscht das sechste Element aus dem Array, dass wir im vorigen Abschnitt beschrieben. Beachten Sie, dass die neue Länge des Arrays ist jetzt fünf, obwohl der fünfte Element ist nicht definiert. Wenn Sie schnell alle Elemente eines Arrays verwenden ArrayClear löschen müssen (), wie folgt: Nachdem Sie ArrayClear () aufgerufen wird, hat das Array keine Elemente übrig. Im Anschluss ist eine einfache Möglichkeit, um herauszufinden, ob ein Array alle Elemente hat: Dieses Array ist leer. Dieses Array hat mindestens ein Element. Um die bestimmte Anzahl von Elementen in einem Array verwenden ArrayLen find (), wie folgt: Beide ArrayLen () und ArrayIsEmpty () count undefinierte Elemente, so vorsichtig sein, weil Sie in der Regel nicht berücksichtigt nicht für unbestimmte Elemente in den Rest Ihres Codes. Finding ein Element in einer Liste ist eine einfache Sache des Anrufers ListFind () oder ListFindNoCase (). Sie haben jedoch keine Array-basierten entspricht ListFind (). Stattdessen müssen Sie eine Schleife verwenden, wie folgt: Nach dieser Schleife beendet ist, i enthält die Array-Index, dass "enthält Apfel", in diesem Fall, 3. Ein Aggregat-Funktion nimmt ein Array mit Zahlen als Argument und gibt einen einzelnen Wert, einige charakteristische dieser Zahlen. ColdFusion-Arrays haben vier Aggregatfunktionen, und sie sind alle im Code angezeigt. Beachten Sie, dass die Aggregatfunktionen fett dargestellt sind, und dass jeder von ihnen ein einzelnes Argument: das Array mit den Daten aggregiert werden.
Wenn einzelne Elemente in einem Array können nicht in eine Zahl umgewandelt werden, wirft ColdFusion eine Fehlermeldung, wenn Sie ein Aggregat Funktion zu nutzen versuchen. Ein weiteres Merkmal Arrays, die nicht-Listen ist die Möglichkeit, einfach Swap-Elemente. Nehmen wir an, myArray sieht wie folgt aus: 1: Pfirsich 2: Zitrone 3: apple 4: Blaubeere Um das erste und das dritte Element Swap, würden Sie ArraySwap () verwenden, wie folgt: myArray würde dann wie folgt aussehen: 1: Apfel 2: Zitrone 3: Pfirsich 4: Blaubeere Wie bei Listen Sie sortieren können leicht ein Array, indem ArraySort (), wie folgt: Nachdem Sie ArraySort () aufgerufen wird, würde myArray folgendes enthalten: 1: Apfel 2: Heidelbeere 3: Zitrone 4: Pfirsich Wenn keine undefinierten Elemente im Array sind, wie Sie zu benutzen versuchen ArraySort (), ColdFusion einen Fehler wirft. Was ListSort (), das zweite Argument ArraySort () beschreibt die Art der Art, die Sie ausführen möchten. Dieses Argument kann die drei folgenden Werte: Numerische: Sortiert das Array numerisch. Wenn ein Array-Element kann nicht in eine Zahl umgewandelt werden, wirft ColdFusion einen Fehler. Text: Sortiert das Array in alphabetischer Reihenfolge, aber Groß-und Kleinschreibung. Angenommen, Sie ArraySort call () auf das folgende Feld: 1: Birne 2: Heidelbeere 3: Apple 4: Pfirsich Dieser Aufruf zurückkehren würde das folgende Ergebnis: 1: Apple 2: Pear 3: Heidelbeere 4: Pfirsich Textnocase: Sortiert das Array alphabetisch, ignorieren Fall. Calling ArraySort () auf der vorhergehenden Array zurückkehren würde das folgende Ergebnis: 1: Apple 2: Heidelbeere 3: Pfirsich 4: Birne Das dritte Argument zu ArraySort () kann ASC oder DESC, je nachdem, ob Sie ein-oder absteigend sortieren. Wenn Sie ein Element hinzufügen, um ein Array, du bist das Reservieren von Speicher in ColdFusion Server. Manchmal ist jedoch nicht genügend Speicherplatz in der aktuellen Lage des Arrays zur Verfügung, wenn dies geschieht, muss das gesamte Array zugewiesen werden und verschoben werden. Diese Operation kann sehr kostspielig sein in Bezug auf CPU-und Speicherauslastung, wenn Sie mehr als ein paar Elemente im Array haben. Aus Gründen der Effizienz ist, wenn Sie wissen, die Anzahl der Elemente, die ein Array enthalten soll, indem sie, bevor Sie starten, kann ArrayResize () verwenden, um vor der Aufteilung des Raumes, die Sie benötigen, wie folgt: Für ein Maximum an Effizienz in Ihrem Code, rufen ArrayResize () unmittelbar nach ArrayNew (). Listen bieten bestimmte Funktionen, die Arrays nicht, um wie die Fähigkeit, ein Element leicht zu finden. Aber Sie können auch einige Dinge einfach mit Arrays, die mit Listen schwer, wie das Auffinden eines Durchschnittswertes. Aus diesem Grund finden Sie oft selbst mit Hilfe einer Liste, wenn Sie die Funktionalität eines Arrays und umgekehrt. Um dieses Rätsel, können Sie eine Liste in ein Array umzuwandeln oder ein Array, um eine Liste von mit dem ListToArray () und ArrayToList ()-Funktionen, wie folgt: Diese Funktionen können speicherintensive für große Listen und Arrays, dann verwenden Sie diese beiden Funktionen nur, wenn Sie auch wirklich brauchen. Wenn Ihr Array komplexe Werte enthält, ArrayToList () wirft einen Fehler. Beachten Sie auch, dass, wenn Sie eine Liste in ein Array umwandeln mit ListToArray (), entfernt ColdFusion leere Elemente aus dem Array, aber das Umgekehrte ist nicht wahr. ArrayToList () erhält eine leere Elemente im Array, möglicherweise Abwerfen Code, erfordert sowohl die synchronisiert werden sollen. Nachdem Sie wissen, wie man Listen und Arrays zu verwenden, müssen Sie entscheiden, was mit ihnen zu tun. Beide setzen viele die gleiche Funktionalität, so was besser ist für welchen Zweck? Vor listet mehr als mehrwertige Saiten, denn als tatsächliche komplexe Datentypen. Listen sind für die Speicherung von Datenmengen, die Sie eventuell benötigen, um Produkte schnell zu finden gut. Arrays sind besser für hoch geordnete Mengen von Daten geeignet, insbesondere wenn es sein muss, den Inhalt zweier Arrays zu koordinieren. Denken Sie auch daran, dass Arrays sind der einzige effektive Weg, um Aggregatfunktionen zu verwenden. Sie müssen aber, wenn Sie Listen verwenden, müssen Daten speichern in einer Client-Variable. Sie können nicht ein Array für diesen Zweck, da Client Variablen nicht können komplexe Daten zu speichern. Sie können jedoch, konvertieren Sie das Array in eine Liste und dann speichern Sie die Liste in einer Client-Variable. Wie wir bereits zuvor in diesem Artikel, wenn Sie nicht garantieren können, dass ein bestimmter Trennzeichen, wird im Artikel in der Liste angezeigt wird, sollten Sie ein Array, um die Daten zu speichern, statt. Ein Array trennt seine Werte von einander, indem sie jeden Wert in einem eigenen Abteil statt Besaitung sie alle zusammen. Arrays und Listen sind leistungsfähige Werkzeuge, wenn korrekt angewandt werden. Jede hat ihre Vor-und Nachteile, aber in den meisten Fällen können Sie ein in die andere umzuwandeln, so dass ihre spezifischen Satz von Funktionen genutzt werden können. In diesem Artikel erfahren Sie, wie Sie effektiv zu nutzen beide Arrays und Listen, und auch, wie man die Wahl zwischen die beiden. Listen sind einfache Variablen, die mehrere Werte enthalten, durch Trennzeichen voneinander getrennt, und sie sind nützlich, wenn Sie brauchen keine Aggregatfunktionen mit ihren Werten. Arrays sind komplexe Variablen, die mehrere Werte enthält, in programmatisch adressierbare Fächer, und sie sind nützlich, wenn Aggregatfunktionen erforderlich sind. Ein Artikel von Albert vorgelegt Niftiger Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle. Wichtig: Dieser Artikel "Der Umgang mit leeren Elemente" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.
|
|||||
| Online: 352 users browsing the articles directory |
|
|