php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-11-2007, 00:26
Canonn
 Registrierter Benutzer
Links : Onlinestatus : Canonn ist offline
Registriert seit: Nov 2007
Beiträge: 48
Canonn ist zur Zeit noch ein unbeschriebenes Blatt
Question Anzahl der Variablen sind begrenzt?

Hallo Zusammen,

für ein Projekt habe ich mal ein Test-Script erstellt.
Aus einer "daten_01.txt" werden aus 12 Zeilen jeweils 32 Zeichen ausgelesen.
(das Auslesen funktioniert gut)

Die 32 Zeichen werden dann an "function calendar (..)" übergeben und zur Test
jeweils das Letzte Zeichen pro Zeile über ein "echo" befehl ausgegeben.
(und hier beginnt mein Problem)

Das ganze Script funktioniert NUR wenn ich nur 31 Zeichen pro Zeile auslese.
Ergänze ich auf 32 Zeichen, d.h ich lese nun 32 Zeichen aus und versuche
an "fuction calendar(..)" zu übergeben dann funktioniert mein Script nicht mehr.


So sieht mein txt Datei aus.

**************************** daten_01.txt**************

1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 1 A
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 B
1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 C
2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 D
1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 E
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 F
1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 G
2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 H
1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 I
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 J
1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 K
2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 L

**********************************************************
und so ist mein Test-Script, hier mit 32 Zeichen auslesen pro Zeile, so wie sie nicht
funktioniert.

<html>
<head>

<title>Jahresüberblick</title>


<?php

function calendar($b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9,$b10,$b11,$b12,$b13,$b14,$b15,$b16,$b17,$b18,$b19,$b20, $b21,
$b22,$b23,$b24,$b25,$b26,$b27,$b28,$b29,$b30,$b31,$b32)


{

$b_[1]=$b1;
$b_[2]=$b2;
$b_[3]=$b3;
$b_[4]=$b4;
$b_[5]=$b5;
$b_[6]=$b6;
$b_[7]=$b7;
$b_[8]=$b8;
$b_[9]=$b9;
$b_[10]=$b10;
$b_[11]=$b11;
$b_[12]=$b12;
$b_[13]=$b13;
$b_[14]=$b14;
$b_[15]=$b15;
$b_[16]=$b16;
$b_[17]=$b17;
$b_[18]=$b18;
$b_[19]=$b19;
$b_[20]=$b20;
$b_[21]=$b21;
$b_[22]=$b22;
$b_[23]=$b23;
$b_[24]=$b24;
$b_[25]=$b25;
$b_[26]=$b26;
$b_[27]=$b27;
$b_[28]=$b28;
$b_[29]=$b29;
$b_[30]=$b30;
$b_[31]=$b31;
$b_[32]=$b32;


echo $b_[31];
}

?>

</head>


<body>




<?php


/**
* @author Medion
* @copyright 2007
*/

$fp = fopen("daten_01.txt","r");

while (!feof($fp)){

$text = fgets($fp,500);
$array = explode(" ",$text);


$d1=$array[0];
$d2=$array[1];
$d3=$array[2];
$d4=$array[3];
$d5=$array[4];
$d6=$array[5];
$d7=$array[6];
$d8=$array[7];
$d9=$array[8];
$d10=$array[9];
$d11=$array[10];
$d12=$array[11];
$d13=$array[12];
$d14=$array[13];
$d15=$array[14];
$d16=$array[15];
$d17=$array[16];
$d18=$array[17];
$d19=$array[18];
$d20=$array[19];
$d21=$array[20];
$d22=$array[21];
$d23=$array[22];
$d24=$array[23];
$d25=$array[24];
$d26=$array[25];
$d27=$array[26];
$d28=$array[27];
$d29=$array[28];
$d30=$array[29];
$d31=$array[30];
$d32=$array[31];


calendar($d1,$d2,$d3,$d4,$d5,$d6,$d7,$d8,$d9,$d10,$d11,$d12,$d13,$d14,$d15,$d16,$d17,$d18,$d19,$d20, $d21,$d22,$d23,$d24,$d25,$d26,$d27,$d28,$d29,$d30,$d31,$d32);

}

fclose($fp);

?>

</body>
</html>
__________________
Danke und Grüße
Mit Zitat antworten
  #2 (permalink)  
Alt 04-11-2007, 02:54
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was du da machst ist Quatsch. Warum lässt du die Zeilen nicht in einem Array wie es sein soll und übergibst dieses an die Funktion?
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #3 (permalink)  
Alt 04-11-2007, 10:06
Canonn
 Registrierter Benutzer
Links : Onlinestatus : Canonn ist offline
Registriert seit: Nov 2007
Beiträge: 48
Canonn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

da hast Du wahrscheinlich Recht.
Möglicherweise wäre das Problem viel einfacher zu lösen. Hier muss ich noch üben..(wie man sieht, bin ein Anfänger)
Du meinst etwa so?

function xy (Array[0], Array[1], Array[2],...etc.)

Aber auch so müsste funktionieren. Frage ist, wieso geht es bis 31 Zeichen und bei Ergänzung auf 32 steigts aus.
Das kann ich mir nicht erklären.
Wenn ich 32 Zeichen auslesen könnte, wäre schon eine riesige Hilfe für mich.
__________________
Danke und Grüße
Mit Zitat antworten
  #4 (permalink)  
Alt 04-11-2007, 10:49
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was tontechniker meint ist das hier:
PHP-Code:
<html>
<head>

<title>Jahresüberblick</title>

<?php
function calendar($array)
{
      echo 
$array[31];
}
?>

</head>
<body>

<?php
/**
* @author Medion
* @copyright 2007
*/

$fp fopen("daten_01.txt","r");

while (!
feof($fp))
{
    
$text fgets($fp,500);
    
$array explode(" ",$text);

    
calendar($array);
}

fclose($fp);
?>
</body>
</html>
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
Mit Zitat antworten
  #5 (permalink)  
Alt 04-11-2007, 11:11
Canonn
 Registrierter Benutzer
Links : Onlinestatus : Canonn ist offline
Registriert seit: Nov 2007
Beiträge: 48
Canonn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,
und genau das funktioniert nicht bzw. kann nicht funktionieren.
Wenn ich wie Du schreibst

calendar($array);

eingebe, liest mir die ganze 32 Zeichen aus. Also mehr als 31 Zeichen.

Wenn ich aber die Mühe mache und etwa so eingebe:

calendar( $array[0], $array[1], .........$array[31])

dann funktionierts.

und so funktioniert schon wieder nicht:

calendar( $array[0], $array[1], .........$array[32])

Also irgendwie hat es doch mit der Anzahl der Variablen zu tun??!!
__________________
Danke und Grüße
Mit Zitat antworten
  #6 (permalink)  
Alt 04-11-2007, 12:31
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
calendar$array[0], $array[1], .........$array[32]) 
FALSCH!! Dass Array $array müsste 33 Elemente 0-32 haben. Du hast in deiner Textdatei aber nur 32 (0-31).

PHP-Code:
calendar$array[0], $array[1], .........$array[31]) 
Das sind genau 32 Elemente. 0 Das Erste, 31 das Letzte der Zeile in der Textdatei(Buchstabe)

Zitat:
Also irgendwie hat es doch mit der Anzahl der Variablen zu tun??!!
Genau. $array[32] existiert gar nicht. Siehe Kommentar weiter oben.


Aufpassen: Arrays in Programmiersprachen fangen mit 0(!) nicht mit 1 an.
ps: Dein Script in deinem Ersten Post geht bei mir ohne Probleme.
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

Geändert von Rolandbar (04-11-2007 um 12:37 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 04-11-2007, 13:19
Canonn
 Registrierter Benutzer
Links : Onlinestatus : Canonn ist offline
Registriert seit: Nov 2007
Beiträge: 48
Canonn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du hast Recht,
und ich bin ein....

Ich sehe schon, habe falsche Daten übermittelt. SORRY mein Fehler.

Also:

calendar($array[0], $array[1], ......$array[30]);

das läuft.

calendar($array[0], $array[1], ......$array[31]);

das läuft nicht.
__________________
Danke und Grüße
Mit Zitat antworten
  #8 (permalink)  
Alt 04-11-2007, 13:21
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und jetzt übergibst du noch das ganze Array so wie Roland es in seinem ersten Post gezeigt hat. Dann kannst du auch alle Elemente durchlaufen und anzeigen, egal wie viele es sind.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #9 (permalink)  
Alt 04-11-2007, 13:25
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
das läuft nicht.
Ich hätte beim Ersten Post schon schreiben sollen, dass du Bitte Das hier liest. Vor allem der Punkt "Der Fehler" ist wichtig.
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
Mit Zitat antworten
  #10 (permalink)  
Alt 04-11-2007, 13:27
Canonn
 Registrierter Benutzer
Links : Onlinestatus : Canonn ist offline
Registriert seit: Nov 2007
Beiträge: 48
Canonn ist zur Zeit noch ein unbeschriebenes Blatt
Unhappy

Rolandbar,

wenn Du sagst, bei Dir läufts..
Ich werde noch Wahnsinnig.... Wieso läufts bei mir nicht?!
__________________
Danke und Grüße
Mit Zitat antworten
  #11 (permalink)  
Alt 04-11-2007, 13:45
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schreibe doch bitte was bei dir nicht geht. Keine Ausgabe? Fehler von PHP? Falsche Ausgabe?

Die Ausgabe bei mir war:
1 2 1 1 2 1 1 1 2 1 1 1
Oder wenn ich beim Script im Ersten Post, bei der Funktion Calendar das echo $b_[31]; in echo $b_[32]; mache:
A B C D E F G H I J K L

Schreibe doch mal, mit welcher PHP Version du Testest. 5.2.4 bei mir

mfg Roland
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
Mit Zitat antworten
  #12 (permalink)  
Alt 04-11-2007, 15:57
Canonn
 Registrierter Benutzer
Links : Onlinestatus : Canonn ist offline
Registriert seit: Nov 2007
Beiträge: 48
Canonn ist zur Zeit noch ein unbeschriebenes Blatt
Post

Hallo,
da ist mein Gesamtskript erneut:
code:
PHP-Code:
html>
<head>

<title>Jahresüberblick</title>


<?php

function calendar($b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9,$b10,$b11,$b12,$b13,$b14,
$b15,$b16,$b17,$b18,$b19,$b20,$b21,$b22,$b23,$b24,$b25,$b26,
$b27,$b28,$b29,$b30,$b31)

 
{
    
$b_[1]=$b1;
$b_[2]=$b2;
$b_[3]=$b3;
$b_[4]=$b4;
$b_[5]=$b5;
$b_[6]=$b6;
$b_[7]=$b7;
$b_[8]=$b8;
$b_[9]=$b9;
$b_[10]=$b10;
$b_[11]=$b11;
$b_[12]=$b12;
$b_[13]=$b13;
$b_[14]=$b14;
$b_[15]=$b15;
$b_[16]=$b16;
$b_[17]=$b17;
$b_[18]=$b18;
$b_[19]=$b19;
$b_[20]=$b20;
$b_[21]=$b21;
$b_[22]=$b22;
$b_[23]=$b23;
$b_[24]=$b24;
$b_[25]=$b25;
$b_[26]=$b26;
$b_[27]=$b27;
$b_[28]=$b28;
$b_[29]=$b29;
$b_[30]=$b30;
$b_[31]=$b31;
/*$b_[32]=$b32;*/


echo $b_[31];
}

?>
</head>


<body>

<?php


/**
 * @author Medion
 * @copyright 2007
 */

$fp fopen("daten_01.txt","r");
        
  while (!
feof($fp)){ 
  
       
$text  fgets($fp,500);
       
$array explode(" ",$text); 
   
     
calendar($array[0],$array[1],$array[2],$array[3],$array[4],$array[5],
$array[6],$array[7],$array[8],$array[9],$array[10],$array[11],$array[12],
$array[13],$array[14],$array[15],$array[16],$array[17],$array[18],
$array[19],$array[20],$array[21],$array[22],$array[23],$array[24],
$array[25],$array[26],$array[27],$array[28],$array[29],$array[30]);

}   
  
 
fclose($fp); 

?>


</body>
</html>
und nur so funktionierts.
So bald ich beim Funktionsaufruf die Liste mit $array[31] ergänze und
im function calendar (..) die Liste mit $b32 ergänze und in dem Function selbst dementsprechend $b_[32]=$b32;
einsetze (muss ja sein) dann scheiterts bereits beim Fuktionsaufruf.

Ich habe, meines Wissens PHP 5 installiert oder zumindest ab PHP5.

Die Fehlermeldung lautet:

undefined offset in line 75 (Funktionsaufrufszeile) bezogen auf der gesamte Variablenliste in der Funktionsaufrufszeile.
Dieser Fehlermeldung verschwindet sofort so bald ich nur 31 Zeichen auslese.
__________________
Danke und Grüße

Geändert von asp2php (05-11-2007 um 00:06 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 04-11-2007, 16:20
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

kannst du dich bitte mal endlich von diesem Scheiß hier verabschieden. Wie oft möchtest du das noch gesagt bekommen???

PHP-Code:
function calendar($b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9,$b10,$b11,$b12,$b13,$b14,
$b15,$b16,$b17,$b18,$b19,$b20,$b21,$b22,$b23,$b24,$b25,$b26,
$b27,$b28,$b29,$b30,$b31)

 
{
    
$b_[1]=$b1;
$b_[2]=$b2;
$b_[3]=$b3;
$b_[4]=$b4;
$b_[5]=$b5;
$b_[6]=$b6;
$b_[7]=$b7;
$b_[8]=$b8;
$b_[9]=$b9;
$b_[10]=$b10;
$b_[11]=$b11;
$b_[12]=$b12;
$b_[13]=$b13;
$b_[14]=$b14;
$b_[15]=$b15;
$b_[16]=$b16;
$b_[17]=$b17;
$b_[18]=$b18;
$b_[19]=$b19;
$b_[20]=$b20;
$b_[21]=$b21;
$b_[22]=$b22;
$b_[23]=$b23;
$b_[24]=$b24;
$b_[25]=$b25;
$b_[26]=$b26;
$b_[27]=$b27;
$b_[28]=$b28;
$b_[29]=$b29;
$b_[30]=$b30;
$b_[31]=$b31
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #14 (permalink)  
Alt 04-11-2007, 16:48
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bitte Code umbrechen.

undefined offset komisch... Ich glaube den Index 31 gibt es nicht.

Setze mal folgenden Code VOR den Funktionsaufruf:
PHP-Code:
echo '<pre>';
print_r($array);
echo 
'</pre>'
In der Ausgabe kannst du dann sehen wie gross die Arrays in jedem Schleifendurchlauf waren.
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
Mit Zitat antworten
  #15 (permalink)  
Alt 04-11-2007, 19:45
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Natürlich gibt es das Offset nicht, die Datei hat halt nur 32 Zeilen ... und nochmal:
Zitat:
kannst du dich bitte mal endlich von diesem Scheiß hier verabschieden. Wie oft möchtest du das noch gesagt bekommen???
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:36 Uhr.