php-resource



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

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

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 23-12-2006, 22:55
billiejoe90
 Newbie
Links : Onlinestatus : billiejoe90 ist offline
Registriert seit: May 2005
Beiträge: 40
billiejoe90 ist zur Zeit noch ein unbeschriebenes Blatt
Standard 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)
Mit Zitat antworten
  #2 (permalink)  
Alt 23-12-2006, 23:03
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich sehe hier keine ausgabe und keine daten.
Mit Zitat antworten
  #3 (permalink)  
Alt 23-12-2006, 23:05
billiejoe90
 Newbie
Links : Onlinestatus : billiejoe90 ist offline
Registriert seit: May 2005
Beiträge: 40
billiejoe90 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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...
Mit Zitat antworten
  #4 (permalink)  
Alt 23-12-2006, 23:07
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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.
Mit Zitat antworten
  #5 (permalink)  
Alt 23-12-2006, 23:12
billiejoe90
 Newbie
Links : Onlinestatus : billiejoe90 ist offline
Registriert seit: May 2005
Beiträge: 40
billiejoe90 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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)
Mit Zitat antworten
  #6 (permalink)  
Alt 23-12-2006, 23:15
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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.
Mit Zitat antworten
  #7 (permalink)  
Alt 23-12-2006, 23:20
billiejoe90
 Newbie
Links : Onlinestatus : billiejoe90 ist offline
Registriert seit: May 2005
Beiträge: 40
billiejoe90 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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 !
Mit Zitat antworten
  #8 (permalink)  
Alt 23-12-2006, 23:24
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

dann zeig doch mal, was print_r() dazu sagt.
Mit Zitat antworten
  #9 (permalink)  
Alt 23-12-2006, 23:32
billiejoe90
 Newbie
Links : Onlinestatus : billiejoe90 ist offline
Registriert seit: May 2005
Beiträge: 40
billiejoe90 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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)
Mit Zitat antworten
  #10 (permalink)  
Alt 23-12-2006, 23:32
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Wenn das wirklich Array sind, warum teilst du PHP das nicht mit?
PHP-Code:
private $properties = array();
private 
$elements = array();
private 
$element_ids = array(); 
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

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni

Vorteile eines flexiblen ERP Systems
Vorteile eines flexiblen ERP SystemsEin flexibles ERP System bietet in allen Unternehmensbereichen die Grundlage für eine erfolgreiche Verwaltung, Organisation und Planung aller Prozesse.

01.12.2021 | Berni


 

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

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:15 Uhr.