• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP richtig lesen können

luca144

Neues Mitglied
Hallo meine Lieben :),

Ich schreibe gestern in einer Woche eine EDV klausur.
Dafür müssen wir einfache PHP und HTML befehle lesen, verstehen und deuten können. Ich bin dadrinnen eher nicht so gut. Könnt ihr mir ein paar tipps geben, auf was ich achten muss?
Das hier waren beispiel aufgaben in der Klausur
Was gibt das folgende Programm aus?

<?php
$a=1;
$erg=0;

for ($i=0; $i<5; $i++)
{
$erg=$erg+$a;
$a++;
}
echo $erg;
?>


also aus dem ff weiß ich, dass a und erg werden hier als Variable definiert.
Dann seh ich noch, dass es eine for schleife ist
und die schleife soll solange laufen, wie i (wird dann ja als 0 definiert) kleiner als 5 ist. und i++ heißt ja, dass immer i+1 gerechnet wird nicht? (also heißt dass, dass die for schleife 4 mal laufen soll?)
dann kommt, dass erg=erg+a
da wird ergebnis ja als summe von erg und a neu definiert. Und a++ heißt, dass a jedes mal, wenn die rechnung abgeschlossen ist um 1 steigt nicht?
also wäre die rechnung ja prinzipiell so:
i=1
erg= 0+1
der neue wert von erg ist somit 1
und a steigt um 1 an also a=2
i=2
erg=1+2
der neue wert von ergist damit 3
und a steigt um 1 an also a=3

und dann soweiter bis man bei i=4 angekommen ist
und dann hat man als zum schluss ja echo von erg und das wäre dann 15 wenn ich mich jetzt nicht verrechnet habe.
Hätte ich das so richtig gemacht?
 
Und die Zweite Aufgabe zum lesen wäre die hier gewesen:

Ergänzen Sie bitte die Kommentare im folgenden PHP-Programm.

<?php
$var=23;
$mod=1;
for ($i=1; $i<6;$i++){
$var=$var+$i;
$mod=$mod+1;
}
// Variable $mod hat den Wert von , Variable $var hat den Wert von .
$erg=($var%$mod)-1;
switch($erg){
case 1: echo "eins";break;
case 2: echo "zwei";break;
case 3: echo "drei";break;
case 4: echo "vier";break;
case 5: echo "fuenf";break;
default: echo "sechs";break;
}


// Die Variable $erg hat den Wert von , am Ende wird in der Internetseite ausgegeben.

?>


Der erste Teil ist ja genauso wie die andere aufgabe damit ist mod am schluss = 7 und var wäre = 38
jetzt käme das mit dem switch dran, das % zeichen bedeutet ja geteilt (was wäre dann Mal?)
also ist erg hier immer (38/6)-1 und dass wäre ja 6 und 2.
Die nimmt man jetzt -1 und bekommt 1 raus
Und die 1 würde mich zum case 1 bringen und die internetseite echot mir 1??? richtig?

Welche Operatoren außer dem % gibt es noch, die anders sind als in Mathe?
Gibt es noch andere schleifen außer while, do-while und for-schleife noch irgentwelche, die ich mir ansehen sollte?
Könnte mir vielleicht, aber nur wenn es nicht zu viel arbeit macht mir jemand noch so eine aufgabe zum üben geben :))?
Lg Luccia
 
jetzt käme das mit dem switch dran, das % zeichen bedeutet ja geteilt (was wäre dann Mal?)
also ist erg hier immer (38/6)-1 und dass wäre ja 6 und 2.

Das % steht für Modulus und gibt dir den Rest der Division aus nicht mehr nicht weniger.

Siehe Handbuch seite: PHP: Arithmetische Operatoren - Manual

Du willst also nee Aufgabe nun gut was macht diese Script:
Erkläre die einzelen Ablauf Schritte!

PHP:
<?php
error_reporting(E_ALL | E_STRICT);                         
ini_set('display_errors', 1);

$filename   = "xxx.php";                              
$time       = time();                                      
$ablaufzeit = 300;                                         
$file       = file_get_contents($filename);                
$file       = empty($file)? $time."&&".$ip : $file;        
$content    = explode("&&",$file);                    
     
$ip = empty($_SERVER['HTTP_X_FORWARDED_FOR'])  
    ? $_SERVER['REMOTE_ADDR']  
    : $_SERVER['HTTP_X_FORWARDED_FOR'];  

foreach ($content as $key => $value)
{
  if ($key % 2 == 0 )
  {
    if($content[$key+1] == $ip)                            
    {
      $content[$key] = $time;                               
    }
    if($content[$key]+$ablaufzeit < $time)                 
    {
      unset($content[$key]);                               
      unset($content[$key+1]);                             
    }
  }
}

$anzahl   = count($content)/2;                             
$content  = implode('&&',$content);     
                   
file_put_contents($filename,$content);                     
$content = $anzahl == 1 ? $anzahl." text | " : $anzahl." texte | ";
echo $content;

Mfg Splasch
 
Zuletzt bearbeitet:
$var = 38,
$mod = 6 // i=1; i<6; sind 5 Iterationen!

$erg=($var % $mod) -1;

löst sich auf in:
$erg = (38 % 6) - 1;
$erg = (2) - 1;
$erg = 1

Das % steht für Modulo und gibt den ganzzahligen Restwert wieder. Wenn du hier Verständnisprobleme hast, schaue bei Wikipedia nach.

Die nachfolgende switch-case Struktur sucht nach dem Wert von $erg, wird gleich bei der ersten Bedingung fündig und damit beendet.

switch(1){
case 1: echo "eins";break;
.....
}

Demzufolge heisst der Satz am Ende:
Die Variable $erg hat den Wert von 1, am Ende wird in der Internetseite eins ausgegeben.

Ach ja, und die mit am häufigsten verwendete Schleife in PHP heißt for-each.
 
und die schleife soll solange laufen, wie i (wird dann ja als 0 definiert) kleiner als 5 ist. und i++ heißt ja, dass immer i+1 gerechnet wird nicht? (also heißt dass, dass die for schleife 4 mal laufen soll?)

Kleiner Denkfehler. Diese Wiederholung wird fünf Mal durchgefrührt.
i=0
i=1
i=2
i=3
i=4

Selber Fehler bei Aufgabe 2.
i=1
i=2
i=3
i=4
i=5
Demnach wird $mod in der letzten Wiederholung auf 6 und nicht auf 7 gesetzt.

Aber ansonsten scheint dir die Semantik keine besonderen Probleme zu bereiten.

Hier kannst du richtig was lernen: PHP: PHP-Handbuch - Manual

Diese Antwort finde ich leider lächerlich.
 
Diese Antwort finde ich leider lächerlich.
Und was soll daran lächerlich sein? In der Doku stehen alle Operatoren, Schleifen, Kontrollstrukturen etc. beschrieben, inkl. Beispielen. Das sollte normalerweise reichen, um sich einen Überblick zu verschaffen und einige Grundlagen zu lernen!
 
Danke für die schnellen Antworten :). Ich werd mir das script und die aufgabe heute am nachmittag ansehen, wenn ich mit mathe lernen durch bin.
Noch eine frage, kennt sich einer von euch mit ERMs aus? also genauer, dass umwandeln von ERMs in die Vektorschreibweise?
 
Und was soll daran lächerlich sein? In der Doku stehen alle Operatoren, Schleifen, Kontrollstrukturen etc. beschrieben, inkl. Beispielen. Das sollte normalerweise reichen, um sich einen Überblick zu verschaffen und einige Grundlagen zu lernen!

Die syntaktischen Strukturen sind dem Fragesteller offensichtlich bereits klar. Seine Bitte war, zu prüfen, ob seine Interpretation des Algorithmus stimmt, und da hilft das PHP-Handbuch nunmal leider nicht weiter.
 
Danke für die schnellen Antworten :). Ich werd mir das script und die aufgabe heute am nachmittag ansehen, wenn ich mit mathe lernen durch bin.
Noch eine frage, kennt sich einer von euch mit ERMs aus? also genauer, dass umwandeln von ERMs in die Vektorschreibweise?

Bringst du nicht da was ein wenig durch einander?
Unter Erm versteh ich eine Entity-Relationship-Modell

Erm Diagrame kannst du mit der Kostenlosen Software Mysql Workbench erstellen.

Siehe dazu auch: Datenbanken entwickeln
http://vwa-wi-ss2011.kilu.de/Wirtsc...ormatik_-_WS_1011_-_alte__bungsklausuren_.pdf

Mfg Splasch
 
Splash, nein, dass steht so bei der Fragestellung.
hab mal einen Screenshot gemacht:
ERM.jpg
also ich hab schon rausbekommen, dass die richtige Antwort Nr. 2 ist.
(durch probieren.)
Und meine vermutungen sind daher, dass die Kardinalität mir auch sagt, ob ich aus meinen Schlüsseln Fremdschlüssel machen kann und somit die Beziehungen überfällig sind.
wenn ichs mir richtig gedacht habe heißt:
(1,1) (1,1) dass ich die Attribute von Entity a, als Attribute von Entity b ausschreiben kann, und sowohl Entity a als auch die Beziehung von a und b weggelassen werden kann.
(1,1)(1,n) dass ich das Schlüsselattribut von Entity a, als Attribut von Entity b ausschreiben kann, und die Beziehung von a und b weggelassen werden kann. Alerdings muss ich dass Schlüsselattribut von a mit FS kennzeichnen. Und ich muss es auch als Attribut von a weiterhin stehen lassen.
mit (1,n)(1,n) funktioniert nichts. Da darf ichs nicht verändern.
Stimmt das so?
Was passiert den bei (n,n)?
 
Also auf ein kleinen Bild kann man nun wirklich nix erkennen zu deiner Frage.
Zu den Beziehung gibst 3 Arten 1/1 , 1/n oder n/m

Mfg Splasch
 
Könnte mir vielleicht, aber nur wenn es nicht zu viel arbeit macht mir jemand noch so eine aufgabe zum üben geben
icon_smile.gif
)?
Lg Luccia

War eh klar zuerst nach einer Aufgabe fordern und dann sich garnicht der Aufgabe stellen. Und schon wieder andere dinge machen.

Mfg Splasch
 
Zurück
Oben