php funktion funktioniert nicht

Alles, was PHP betrifft, kann hier besprochen werden.

php funktion funktioniert nicht

Postby Toothpick » 02. March 2007 12:12

hallo, ich habe ein php script entwickelt, das auf einem älteren xampp server läuft.

hier der code:

Code: Select all
array_push($this->category_type, $category_type->return_array());


mit der neuesten version vom Xampp funktioniert das mit den arrays nicht so richtig???

hier noch etwas was nicht funktioniert hat, was allerdings bei der alten Version prima klappt:

Code: Select all
$this->category_type[] = $category_type->return_array();


die funktion return array() gibt ein Matrixarray zurück.
Dies funktioniert nicht in der neuesten version.
die variable wurde vorher schon mit array() zum array gemacht.
Last edited by Toothpick on 02. March 2007 14:06, edited 1 time in total.
Toothpick
 
Posts: 9
Joined: 02. March 2007 12:05

Postby Wiedmann » 02. March 2007 12:14

Code: Select all
array_push($this->category_type, $category_type->return_array());

mit der neuesten version vom Xampp funktioniert das mit den arrays nicht so richtig???

Wieso nicht, bzw. was tut nicht?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Toothpick » 02. March 2007 14:05

nach der php.net doku macht die array_push funktion folgendes:

ein Wert wird automatisch an ein Array angehängt.

auf meinem lokalen system mit php5 klappt das sehr gut, mit der neuesten xampp version von apachefriends.org, die auf php5 eingestellt ist, klappt diese Funktion nicht, das array bleibt leer.

edit: meine funktion gibt ein array zurück, das habe ich getestet. array push und andere array handling sachen funktionieren nicht richtig. oder die funktion array() geht nicht richtig???
Toothpick
 
Posts: 9
Joined: 02. March 2007 12:05

Postby Wiedmann » 02. March 2007 14:19

Ich würde da halt erstmal mit simplen debugging anfangen:
- Schau direkt vor der Zeile mit array_push() nach, was jeweils in "$this->category_type" und "$category_type->return_array()" genau drin ist.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Toothpick » 02. March 2007 14:26

Toothpick wrote:edit: meine funktion gibt ein array zurück, das habe ich getestet.


debugging hab ich schon gemacht, es liegt am arrayhandling des php servers.
auf jeden fall liegt der fehler dort, ich habe alle Variablen schon mit var_dump() ausgegeben.

die andere Variable, die das Array angehängt bekommen soll ist array[0] {}, also leer. Hier auf dem alten Sytem ist diese Variable mit array_push() gefüllt.
Toothpick
 
Posts: 9
Joined: 02. March 2007 12:05

Postby Wiedmann » 02. March 2007 14:30

Kann man die var_dumps mal sehen?
(also 2x direkt vor array_push() und 1x direkt danach)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Toothpick » 02. March 2007 14:40

ok:

var_dump wrote:das Ziel vor dem push:
array(0) { }

mein return_array():
array(8) { ["id"]=> string(1) "4" ["name"]=> string(14) "working skills" ["is_active"]=> string(1) "1" ["allow_multiple"]=> string(1) "1" ["created_at"]=> string(19) "2007-01-30 08:11:05" ["updated_at"]=> NULL ["category"]=> array(4) { [0]=> string(1) "8" [1]=> string(1) "7" [2]=> string(1) "9" [3]=> string(2) "10" } ["categories"]=> NULL }

das Ziel nach dem push:
array(0) { }
Toothpick
 
Posts: 9
Joined: 02. March 2007 12:05

Postby Wiedmann » 02. March 2007 14:53

Also dann hast du jetzt genau diesen Code benutzt?
Code: Select all
var_dump($this->category_type);
var_dump($category_type->return_array());
array_push($this->category_type, $category_type->return_array());
var_dump($this->category_type);


Hmm, funktioniert bei mir jedenfalls ohne Probleme.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Toothpick » 02. March 2007 15:18

also, als ich das gestern Abend so ausprobiert habe, ging es nicht, mit beiden oben genannten Versionen nicht.
Xampp habe ich vor 2 Tagen die neue Version runtergeladen.
Aber heute Abend werde ich mir das nochmal anschauen, vielleicht ist da ja ein Vertipper untergekommen.

ich meld mich dann nochmal
Toothpick
 
Posts: 9
Joined: 02. March 2007 12:05

Postby Toothpick » 03. March 2007 11:45

geht immer noch nicht :(

Wieso wurde das hier denn verschoben? das ist doch eindeutiog kein scriptproblem mit PHP sondern ein Problem mit der Version Xampp für Windows, da wo ich es ursprünglich hin gepostet habe.
Toothpick
 
Posts: 9
Joined: 02. March 2007 12:05

Postby Wiedmann » 03. March 2007 15:34

Wiedmann wrote:Hmm, funktioniert bei mir jedenfalls ohne Probleme.

Noch ein Nachtrag dazu. Das hab ich allerdings ohne eine Klasse gemacht. der Testcode war dieser:
Code: Select all
<?php
$files = array();

$param = array();
$param["id"] = "4";
$param["name"] = "working skills";
$param["is_active"] = "1";
$param["allow_multiple"] = "1";
$param["created_at"] = "2007-01-30 08:11:05";
$param["updated_at"]= NULL;
$param["category"] = array();
$param["category"][0] = "8";
$param["category"][1] = "7";
$param["category"][2] = "9";
$param["category"][3] = "10";
$param["categories"] = NULL;

//var_dump($files);
//var_dump($param);
array_push($files, $param);
var_dump($files);
?>


Bei dir hast du ja eine class var, und unter dem selben Namen gibt es dann noch eine Variable, welche eine Instance einer class enthält, von der du eine Methode aufrufst.

Möglicherweise kommt hier was bei deinem Classhandling durcheinander?

(Welches error_reporting benutzt du denn bei deinem Debugging?)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Toothpick » 08. March 2007 11:55

Ich kann debuggen.

Mittlerweile läuft mein Script auf 2 Lokalen Systemen und auf einem Webserver einwandfrei.

Allerdings auf dem neuesten Xammp Webserver-Verbund nicht.
Toothpick
 
Posts: 9
Joined: 02. March 2007 12:05


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests