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. |
 |

23-12-2006, 22:55
|
billiejoe90
Newbie
|
|
Registriert seit: May 2005
Beiträge: 40
|
|
Elemente eines Arrays in einem Objekt zählen
Hallo,
ich habe folgende Klasse (vereinfacht):
PHP-Code:
<?php
class Form() {
private $elements;
function Form($action, $name, $method) {
$this->elements[count($this->elements)]['name'] = $name;
// das gleiche mit den anderen übergegebenen werten auch
echo count($this->elements);
}
}
?>
Die Ausgabe ergibt 4218 ???!!!
Wie ist das mit Arrays innerhalb von Objekten, irgendwas kann doch da nicht stimmen, oder?
Kennt jemand das Problem? Mussja zulösen sein!
Danke schonmal!
Johannes
Geändert von billiejoe90 (23-12-2006 um 23:17 Uhr)
|

23-12-2006, 23:03
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
ich sehe hier keine ausgabe und keine daten.
|

23-12-2006, 23:05
|
billiejoe90
Newbie
|
|
Registriert seit: May 2005
Beiträge: 40
|
|
Das ist ja egal... Es geht darum, dass die eigenschaft "elements" scheinbar nicht als Array angesehen wird...
edit: "gettype($this-element)" gibt jedoch "array"aus...
|

23-12-2006, 23:07
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
nein, das ist nicht egal. das, was du postest, ist noch nicht ein mal syntaktisch korrekt. dass es in diesem fall noch probleme gibt, ist klar.
|

23-12-2006, 23:12
|
billiejoe90
Newbie
|
|
Registriert seit: May 2005
Beiträge: 40
|
|
Sorry, aber ich weiß jetzt nicht ganz, was ihr von mir wollt^^
Egal... ich formuliere die Frage etwas um, und bitte nur antworten, wenn ihr auf die Frage antworten wollt!
Wie zählt man ein Array innerhalbeines Objektes?
Geht das normalerweise mit "count($this->dasArray)" ?
Danke!
Geändert von billiejoe90 (23-12-2006 um 23:15 Uhr)
|

23-12-2006, 23:15
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
du stellst eine frage und belegst sie mit _garantiert_ fehlerhaftem code.
was soll man dazu sagen? korrigiere doch wenigstens die fehler, damit der code lauffähig wird.
ja, die funktion count() hängt nicht davon ab, wo sie ausgeführt wird.
dieser code müsste übrigens einfach nur "1" ergeben.
|

23-12-2006, 23:20
|
billiejoe90
Newbie
|
|
Registriert seit: May 2005
Beiträge: 40
|
|
Ja, genau!
Nur das Problem ist eben, dass ich sehr "komische" Ausgaben bekomme. Hier jetzt mal mein Code:
PHP-Code:
<?php
class Form {
private $properties;
private $elements;
private $element_ids;
// Konstruktor
function Form($name, $action, $method) {
$this->properties['name'] = $name;
$this->properties['action'] = $action;
$this->properties['method'] = $method;
}
function addElement($type, $name, $title, $value) {
$this->element_ids[$name] = count($this->elements);
$this->elements[count($this->elements)]['type'] = $type;
$this->elements[count($this->elements)]['name'] = $name;
$this->elements[count($this->elements)]['title'] = $title;
$this->elements[count($this->elements)]['value'] = $value;
switch($type) {
case 'select': $this->elements[count($this->elements)]['tag'] = 'select'; break;
case 'textarea': $this->elements[count($this->elements)]['tag'] = 'textarea'; break;
default: $this->elements[count($this->elements)]['tag'] = 'input'; break;
}
}
}
?>
Und wenn ich jetzt count($this->elements) ausgebe, kommen riesen Werte, wie eben z.B. "4218" oder auch "048".
count($this->properties) ergibt allerdings 1 !
|

23-12-2006, 23:24
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
dann zeig doch mal, was print_r() dazu sagt.
|

23-12-2006, 23:32
|
billiejoe90
Newbie
|
|
Registriert seit: May 2005
Beiträge: 40
|
|
Ich bin ein totaler Idiot...
Ich hab den Fehler gefunden!
Fast zu peinlich, um ihn zu nennen
Ich rufe die Funktion 3x auf und deshalb werden 3x die count()-ergebnisse ausgegeben - ohne zeilenumbrüche  ... (ich habs als ganze Zahl interpretiert)
|

23-12-2006, 23:32
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Wenn das wirklich Array sind, warum teilst du PHP das nicht mit?
PHP-Code:
private $properties = array();
private $elements = array();
private $element_ids = array();
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
Aktuelle PHP Scripte
Homepagetools 2022
Kostenloses Gästebuch und Homepagetools für die eigene Homepage.
Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.
29.04.2022
freepler | Kategorie: PHP/ Gaestebuch
|
SF-Shopsystem V1.0
Hier haben wir ein einzigartiges Shopsystem in PHP.
Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich.
Ausführliche Beschreibung weiter unten.
28.04.2022
Speedcrawler | Kategorie: PHP/ Shops
|
Anzeigen Markt mit PayPal Bezahl System
Anzeigen Markt Script
mit PayPal Bezahl System
Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal
seine Anzeigen zu schalten, je nach seinem Guthaben.
27.04.2022
Webace_de | Kategorie: PHP/ Anzeigenmarkt
|
Alle PHP Scripte anzeigen
|