Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new...
Transcript of Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new...
![Page 1: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/1.jpg)
1
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Arrays
![Page 2: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/2.jpg)
2
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Problem:
Volatilitätenbeispiels in der Programmiersprache JavaScript.
Der Benutzer unseres Programms soll die Aktienkurse für beliebig viele Tage eingeben können. Dabei soll er zunächst sagen, wie viele Tage berücksichtigt werden sollen. Sodann kann er für jeden dieser Tage einen Kurs eingeben. Ausgegeben werden soll zunächst der Durchschnitt der Kurse, dann die Varianz, dann die Volatilität und zum Schluss noch einmal die eingegebenen Werte.
![Page 3: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/3.jpg)
3
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
JavaScript Array-Regeln
Deklaration eines Arrays :var meinArray;
Erzeugung eines Arrays :meinArray=new Array();
Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten:meinArray=new Array(5);
Der Array-Index wird von 0 hochgezählt.
Zugriff auf Felder über eckige Klammern:meinArray[0]=1;
Die Elemente eines Arrays werden bei Benutzung erzeugt.
![Page 4: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/4.jpg)
4
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
JavaScript Array-Regeln (2)
Die Elemente eines Array müssen nicht vom gleichen Typ sein.meinArray[0]=10 meinArray[1]="diesesFeldIstEinString";
Die Werte mehrerer Felder eines Arrays können mit einer Anweisung zugewiesen werden. Dies geschieht, indem die Werte in eckigen Klammern eingeschlossen und durch Kommata getrennt dem Arraynamen zugewiesen werden:
meinArray = [0,1,2];
ist gleichbedeutend mit:
meinArray[0] = 0;meinArray[1] = 1;meinArray[2] = 2;
![Page 5: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/5.jpg)
5
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Typen von Arrays in JavaScript- in JavaScript gibt es eine Array-Klasse
Einfache ArraysmyArray= new Array(3);myArray[0]=10;myArray[1]=11;myArray[2]=12;
document.write(myArray[0]);myArray= new Array(10,11,12);
Assoziative ArraysmyArray=new Array();myarray=["Eins"]="Prof";myarray=["Zwei"]="Student";myarray=["Drei"]="Mitarbeiter";
document.write(myArray["Eins"]);
![Page 6: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/6.jpg)
6
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Typen von Arrays in JavaScriptMehrdimensionale Arrays
myArray=new Array;myArray[0]=new Array("Professor","Student","Mitarbeiter");myArray[1]=new Array("EinsLive","WDR2","WDR3","WDR4","WDR5");myArray[2]=new Array("Audi","BMW","Mercedes", "Ford", "Opel", "VW");
document.write(myArray[0][2]+"<br>");document.write(myArray[2][0]+"<br>");
var raueme;raeume=new Array(27);for(i=0;i<raume.lenght;i++){
raeume[i]=new Array(3);}
raueme[0][0]=10;
Wichtig:meinArray.length gibt die Länge (Anzahl Elemente) des Arrays aus.
![Page 7: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/7.jpg)
7
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Volatilitätenbeispiel<script language = "JavaScript">
var anzahlTage;var i;var durchschnitt;var varianz;var dt;var kurs;kurs=new Array();durchschnitt=0;varianz=0;anzahlTage=parseInt(prompt("Bitte geben Sie die Anzahl der Tage ein!"));for(i=0;i<anzahlTage;i++){
kurs[i]=parseFloat(prompt("Nächster Kurs bitte!"));durchschnitt+=kurs[i];
}durchschnitt/=anzahlTage;for(i=0;i<anzahlTage;i++){
varianz+=(kurs[i]-durchschnitt)*(kurs[i]-durchschnitt);}varianz/=(anzahlTage-1);dt=anzahlTage/250;//Volatilitaetvolatilitaet=varianz/Math.sqrt(dt);
![Page 8: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/8.jpg)
8
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Typen von Arrays in PHPEinfache Arrays$myArray=array();$myarray=(1,2,3,4,5,"test", "ok", 68,34);
Assoziative Arrays$myArray=array();$myarray=("ErsterWert"=>"Prof", "ZweiterWert"=>"Student", "DritterWert"=>"LBA");
Mehrdimensionale Arrays$myArray=array();$myarray=("Eins"=>array("Test", "OK"), "zwei"=>array("foo"=>array("bar", "doe"));
![Page 9: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/9.jpg)
9
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
PHP-Array Regeln
Keine Deklaration, kein Zwang zur Erzeugung
$meinArray[0]=0;$meinArray[1]=1;
Mögliche Erzeugung$meinArray=Array();
Vorbelegung bei Erzeugung$meinArray=array(23, 45);
Auch in php müssen die Elemente eines Arrays nicht vom gleichen Typ sein.Wichtig:Arrays in PHP können gesplittet, sortiert, verkettet, in einzelne Variable aufgeteilt werden . Sehen Sie in die php-Funktionsreferenz unter dem Stichwort Array.Beispiel: Die Funktion count
$meinArray=array(23, 45);echo count($meinArray);
![Page 10: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/10.jpg)
10
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Die for - Schleife
for(Initialisierungsanweisung;Bedingung;Änderungsanweisung){
anweisung1;...anweisungN
}
<?phpfor($i=0;$i<4;$i++){
$meinArray[$i]=$i*2;}for($i=0;$i<count($meinArray);$i++){
echo "Der Wert zum Index $i ist $meinArray[$i]<br>";}
?>
![Page 11: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/11.jpg)
11
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Besetzen und Auslesen eines Arrays mit einer for-schleife<?php
for($i=0;$i<4;$i++){
for($j=0;$j<3;$j++){
$meinArray[$i][$j]=$i*$j;}
}for($i=0;$i<count($meinArray);$i++){
for($j=0;$j<count($meinArray[$i]);$j++){
echo "{$meinArray[$i][$j]} ";}echo "<br>";
}?>
![Page 12: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/12.jpg)
12
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Aufgabe
Aufgabe:1. Erzeugen Sie ein zweidimensionales Array in phpund geben Sie es in einer Tabelle aus.
2. Schreiben Sie nun eine Funktion, die ein zweidimensionales Array in einer Funktion ausgibtund benutzen Sie diese.
3. Lagern Sie das Array in eine Klasse HtmlDarstellung aus!
![Page 13: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/13.jpg)
13
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Lösung 1for($i=0;$i<4;$i++){
for($j=0;$j<3;$j++){
$meinArray[$i][$j]=$i*$j;}
}echo "<table>";for($i=0;$i<count($meinArray);$i++){
echo "<tr>";for($j=0;$j<count($meinArray[$i]);$j++){
echo "<td>";echo $meinArray[$i][$j];echo "</td>";
}echo "</tr>";
}echo "</table>";
![Page 14: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/14.jpg)
14
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Lösung 2
<?phpfunction stelleArrayAlsHtmlTabelledar($meinArray, $border){
echo "<table border='$border'>";for($i=0;$i<count($meinArray);$i++){
echo "<tr>";for($j=0;$j<count($meinArray[$i]);$j++){
echo "<td>";echo $meinArray[$i][$j];echo "</td>";
}echo "</tr>";
}echo "</table>";
}
![Page 15: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/15.jpg)
15
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Lösung 2-2
for($i=0;$i<4;$i++){
for($j=0;$j<3;$j++){
$meinArray[$i][$j]=$i*$j;}
}stelleArrayAlsHtmlTabelledar($meinArray, "2");
?>
![Page 16: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/16.jpg)
16
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Lösung 3 – Die Klasseclass HtmlDarstellung {
function stelleArrayAlsHtmlTabelledar($meinArray, $border){
echo "<table border='$border'>";for($i=0;$i<count($meinArray);$i++){
echo "<tr>";for($j=0;$j<count($meinArray[$i]);$j++){
echo "<td>";echo $meinArray[$i][$j];echo "</td>";
}echo "</tr>";
}echo "</table>";
}}
![Page 17: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/17.jpg)
17
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Lösung 3 – Der Aufruf
<?phprequire_once("./klassen/HtmlDarstellung.inc.php");
for($i=0;$i<4;$i++){
for($j=0;$j<3;$j++){
$meinArray[$i][$j]=$i*$j;}
}HtmlDarstellung::stelleArrayAlsHtmlTabelledar($meinArray, "2");
?>
![Page 18: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/18.jpg)
18
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Regeln
Nach der for-Anweisung darf kein Semikolon stehen.
Initialisierungsanweisung, Bedingung und Änderungsanweisung werden durch Semikolons getrennt.
Es kann mehrere Initialisierungsanweisungen und Änderungsanweisungen in einer for-Schleife geben.
Sie werden dann jeweils durch Kommata getrennt.
![Page 19: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/19.jpg)
19
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Die foreach - Schleife
foreach($meinArray As $wert){
anweisung1anweisung1;...anweisungN
}<?php
for($i=0;$i<4;$i++){
$meinArray[$i]=$i*2;}foreach($meinArray As $arrayWert){
echo "Der nächste Wert des Arrays ist $arrayWert <br>";
}?>
![Page 20: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/20.jpg)
20
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
mehrdimensionaler Arrays mit der foreach-Schleife
<?phpfor($i=0;$i<4;$i++){
for($j=0;$j<3;$j++){
$meinArray[$i][$j]=$i*$j;}
}foreach($meinArray As $arrayVector){
foreach($arrayVector As $arrayWert){
echo "$arrayWert ";}echo "<br>";
}?>
![Page 21: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/21.jpg)
21
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Die foreach-Schleife für assoziative Arrays in php
foreach($meinArray As $arraySchluessel => $arrayWert){
anweisung1anweisung1;...anweisungN
}
![Page 22: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/22.jpg)
22
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Beispiel
<?php$essen=array('Montag'=>'Graupensuppe',
'Dienstag'=>'Linsensuppe','Mittwoch'=>'Hühnersuppe','Donnerstag'=>'Gulaschsuppe','Freitag'=>'Chili Con Carne');
foreach($essen As $arraySchluessel => $arrayWert){
echo "Der Index des Arrays ist $arraySchluessel, der Wert $arrayWert <br>";}
?>
![Page 23: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/23.jpg)
23
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Aufgabe
Aufgabe
Erweitern Sie Ihre Klasse HtmlDarstellung um eine Funktion,die ein assoziatives Array in einer html-Tabelle ausgibt.
Rufen Sie diese Funktion mit dem assoziativen Array aus demBeispiel auf!
![Page 24: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/24.jpg)
24
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Lösung: Die Klassenerweiterung<?phpclass HtmlDarstellung2 {
function stelleAssoziativesArrayAlsHtmlTabelledar($meinArray, $border){
echo "<table border='$border'>";foreach($meinArray As $key => $value){
echo "<tr>";echo "<td>";echo $key;echo "</td>";echo "<td>";echo $value;echo "</td>";echo "</tr>";
}echo "</table>";
}
![Page 25: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/25.jpg)
25
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Lösung: Die Klassenerweiterungfunction stelleArrayAlsHtmlTabelledar($meinArray, $border){
echo "<table border='$border'>";
![Page 26: Arrays - fb6.info · Erzeugung eines Arrays mit Angabe der Anzahl Koordinaten: meinArray=new Array(5); Der Array-Index wird von 0 hochgezählt. Zugriff auf Felder über eckige Klammern:](https://reader033.fdocument.pub/reader033/viewer/2022060606/605c465453b32d3c9b28e3e1/html5/thumbnails/26.jpg)
26
PHP – JavaScript Kapitel 9
PHP / JavaScript Bernd Blümel & Christian Metzger – Version 22.03.2004
Lösung: Der Aufruf<?php
require_once("./klassen/HtmlDarstellung2.inc.php");$essen=array('Montag'=>'Graupensuppe',
'Dienstag'=>'Linsensuppe','Mittwoch'=>'Hühnersuppe','Donnerstag'=>'Gulaschsuppe','Freitag'=>'Chili Con Carne');
HtmlDarstellung2::stelleAssoziativesArrayAlsHtmlTabelledar($essen, $border)
?>