Ergebnis 1 bis 5 von 5

Thema: ergebnis von count() global gültig zu machen

  1. #1
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard ergebnis von count() global gültig zu machen

    also ich hab mich jetzt entschlossen ein bereits geschriebenes javascript von mir umzusetzen in php (denn da is auch nen array dabei)
    ich hab die funktion count() gefunden um zu zählen, wieviel in meinem array drin is, des klappt auch wunderbar ausserhalb jeder funktion.

    jedoch innerhalb einer funktion is des ding unbekannt..
    hab das array hier:
    Code:
    $matrix = array();
     
    $matrix[1] = array();						
    $matrix[1][1]="A";
    $matrix[1][2]="B";
    $matrix[1][3]="C";
    $matrix[1][4]="D";
    $matrix[1][5]="E";
    $matrix[1][6]="F";
    $matrix[1][7]="G";
    $matrix[2] = array();						 
    $matrix[2][1]="H";
    $matrix[2][2]="I";								
    $matrix[2][3]="J";
    $matrix[2][4]="K";
    $matrix[2][5]="L";
    $matrix[2][6]="M";
    $matrix[2][7]="N";
    $matrix[3] = array();					 
    $matrix[3][1]="O";
    $matrix[3][2]="P";
    $matrix[3][3]="Q";
    $matrix[3][4]="R";
    $matrix[3][5]="S";
    $matrix[3][6]="T";
    $matrix[3][7]="U";
    $matrix[4] = array();						 
    $matrix[4][1]="V";
    $matrix[4][2]="W";
    $matrix[4][3]="X";
    $matrix[4][4]="Y";
    $matrix[4][5]="Z";
    $matrix[4][6]=".";
    $matrix[4][7]=",";
    $matrix[5] = array();						
    $matrix[5][1]=";";
    $matrix[5][2]="?";
    $matrix[5][3]="!";
    $matrix[5][4]=" ";
    $matrix[5][5]="-";
    $matrix[5][6]="ß";
    $matrix[5][7]="_";
    $matrix[6] = array();
    $matrix[6][1]="Ä";
    $matrix[6][2]="Ö";
    $matrix[6][3]="Ü";
    $matrix[6][4]="0";
    $matrix[6][5]="1";
    $matrix[6][6]="2";
    $matrix[6][7]="3";
    $matrix[7] = array();
    $matrix[7][1]="4";
    $matrix[7][2]="5";
    $matrix[7][3]="6";
    $matrix[7][4]="7";
    $matrix[7][5]="8";
    $matrix[7][6]="9";
    $matrix[7][7]="10";
    
    $mlength = count($matrix);
    echo "länge der matrix: ".$mlength."
    ";
    und die länge von matrix wird mit 7 angezeigt, was ja soweit richtig ist..

    dann habe ich folgende funktion:
    Code:
    function suchBuchstabe($buchstabe){				 			 	//diese funktion durchläuft die komplette tabelle
    global $mlength;
    echo "matrixlänge: ".$mlength ."
    ";
    	for&#40;$i=1; $i<$mlength; $i++&#41;&#123;						//in zwei in sich verschachtelten schleifen wird 
    		for&#40;$j=1; $j<$mlength; $j++&#41;&#123;					//also an jeder stelle geprüft ob der eingegebene buchstabe
    			if&#40;$buchstabe == $matrix&#91;$i&#93;&#91;$j&#93;&#41;&#123;					//vorhanden ist. sollte das der fall sein
    				return $i."".$j; 								//werden die werte von i und j zurückgegeben.
    			&#125;	   												
    		&#125;
    
    	&#125;
    &#125;
    ich bin bisher davon ausgegangen, dass eine variable global ist wenn sie ausserhalb einer funktion steht...
    und man sagt innerhalb einer funktion "global $variable", um damit zu sagen, dass man diese globale variable benutzen will...

    jedoch bringt mir:
    Code:
    global $mlength;
    echo "matrixl&auml;nge&#58; ".$mlength ."
    ";
    kein ergebnis

    hat mal jemand nen zaun zum winken?

    irgendwie steh ich grad gut aufm schlauch-.-
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  2. #2
    Bandit
    Gast

    Standard

    Du hast in der Funktion auch nicht $matrix zur Verfügung.

    Ein Tipp: vermeide globale Variablen, denn diese machen ein Script nur unübersichtlich und extrem schwer zu debuggen.

    Übergebe der Funktion das Array, dann hast du alles, was du brauchst. In deinem Fall musst du noch nicht mal die Länge kennen, denn du kannst auch foreach benutzen.

  3. #3
    Forum Guru
    Themenstarter
    Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard

    mmmh also ich brauch die matrix in zwei funktionen.. von daher dachte ich die global zu machen wäre sinnvoll (ich kenn die handhabung globaler variablen ja nur von java/javascript- und da is des wesentlich einfacher!)
    und wie kann ich denn die geschachtelten forschleifen zu ner foreach-schleife machen?
    komm ich dann denn so an die werte von i und j? die brauch ich nämlich damit das mit dem polybios-chiffre funzt...

    ich hab grad mal probiert die matrix erstmal so zu übergeben, was auch nich hinhaut..
    ich poste mal die beiden funktionen, wie ich sie akut benutze.
    zum grössten teil hab ich auch scho auf globale variablen verzichtet.. jedoch mit der matrix bekomm ich des net hin
    Code:
    function verschluesseln&#40;$wert&#41;&#123;
    	$wert = mb_strtoupper&#40;$wert&#41;;								
    	echo $wort;
    	$wortlaenge = mb_strlen&#40;$wert&#41;;								
    	for&#40;$wortcount=0; $wortcount< $wortlaenge; $wortcount++&#41;&#123;															
    		$code .= suchBuchstabe&#40;$wert&#123;$wortcount&#125;, $matrix&#41;." ";		
    		echo "in forschleife &#58; ".$code ."
    ";
    		echo $wert&#123;$wortcount&#125;."
    ";
    		echo "funktion suchbuchstabe suxx&#58; ".suchBuchstabe&#40;$wert&#123;$wortcount&#125;, $matrix&#41;."
    ";
    		
    	&#125;
    	return $code;
    &#125;
    
    function suchBuchstabe&#40;$buchstabe, $matrix&#41;&#123;			
    echo "hier ".$matrix&#91;3&#93;&#91;5&#93;;
    $mlength = count&#40;$matrix&#41;;
    echo "matrixl&auml;nge&#58; ".$mlength."
    ";
    	for&#40;$i=1; $i<$mlength; $i++&#41;&#123;						 
    		for&#40;$j=1; $j<$mlength; $j++&#41;&#123;					
    			if&#40;$buchstabe === $matrix&#91;$i&#93;&#91;$j&#93;&#41;&#123;					
    				return $i."".$j; 								
    			&#125;	   												
    		&#125;
    
    	&#125;
    &#125;
    die echo-befehle dienen zur zeit nur zur kontrolle.. nicht zur letztlichen ausgabe!!
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  4. #4
    Bandit
    Gast

    Standard

    function verschluesseln($wert)

    Wo ist da $matrix?

    Du solltest während der Entwicklung eines Scriptes diese beiden Zeilen immer am Anfang haben:

    error_reporting(E_ALL);
    ini_set("display_errors", true);

    oder das direkt in der php.ini in deiner Entwicklungsumgebung einstellen.

  5. #5
    Forum Guru
    Themenstarter
    Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard

    also errors werden immer angezeigt.. und ich hab auch grad meinen fehler gefunden.. ich hab ne funktion auf das array ausgeführt, noch bevor das array initialisiert war

    jetzt klappt des ding so wie es soll...

    den fehler konnte hier auch keiner finden, weil ich diesen teil gar nich gepostet hatte (war mir zu sicher das des richtig ist...)
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

Ähnliche Themen

  1. Global-Records
    Von Global-Records im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 7
    Letzter Beitrag: 10.12.2007, 02:59
  2. global
    Von pindakaas im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 31.01.2006, 11:34
  3. count??
    Von phore im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 16
    Letzter Beitrag: 10.05.2005, 00:16
  4. SQL-Abfrage mit Count der Datensätze
    Von tsaenger im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 18.10.2004, 09:15
  5. SQL-Abfrage( SELECT COUNT(*) .....)
    Von scout1979 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 21.09.2004, 17:02

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •