Klassenfunktionen liefern Fehler bei array_map()

Klassenfunktionen liefern Fehler bei array_map()

am 19.09.2006 10:28:58 von friedrich.loeffler

Guten Tag NG,

ich habe ein Array von Daten:

$arr=
Array
(
0 => 'mod_topic_export_favourite'=>1,
1 => 'mod_pp_attachement_file_types'=>'gif;jpeg'
)

Diese möchte mit 2 Funktionen aus der Klasse 'variables' bearbeiten.

class variables {
function delete_normalquotes($string)
{
return str_replace("'",'',$string);
}
function array_split($string)
{
return explode('=>',$string);
}
}

$arr=array_map("$variables->delete_normalquotes",$arr);
$arr=array_map("$variables->array_split",$arr);

Dabei erscheinen folgende Fehlermledungen:

- Notice: Undefined property: variables::$delete_normalquotes in
C:\apachefriends\xampp\htdocs\admin.php on line 329
- Warning: array_map() [function.array-map]: The first argument, '', should
be either NULL or a valid callback in
C:\apachefriends\xampp\htdocs\gethree\community\forum\admin. php on line 329
- Notice: Undefined property: variables::$array_split in
C:\apachefriends\xampp\htdocs\admin.php on line 330
- Warning: array_map() [function.array-map]: The first argument, '', should
be either NULL or a valid callback in
C:\apachefriends\xampp\htdocs\gethree\community\forum\admin. php on line 330

Wo liegt der Fehler? Ich möchte gerne die Klassenfunktionen so belassen wie
sie sind.
Ohne Klasse, also als einfache Funktioinen funktioniert das Schema.

Greets.

Re: Klassenfunktionen liefern Fehler bei array_map()

am 19.09.2006 12:22:27 von Claus Reibenstein

Friedrich Löffler schrieb:

> 0 => 'mod_topic_export_favourite'=>1,

Parse error: parse error, unexpected T_DOUBLE_ARROW, expecting ')'

Gruß. Claus

Re: Klassenfunktionen liefern Fehler bei array_map()

am 19.09.2006 12:28:49 von Andreas Otto

Friedrich Löffler schrieb:
> $arr=3Darray_map("$variables->delete_normalquotes",$arr);
> $arr=3Darray_map("$variables->array_split",$arr);

$arr =3D array_map(array('variables','delete_normalquotes'), $arr);
$arr =3D array_map(array('variables','array_split'), $arr);

Re: Klassenfunktionen liefern Fehler bei array_map()

am 19.09.2006 13:20:46 von friedrich.loeffler

"Andreas Otto"
> $arr = array_map(array('variables','delete_normalquotes'), $arr);
> $arr = array_map(array('variables','array_split'), $arr);

Danke. Wie sieht denn das bei regulären Ausdrücken mit preg_replace() aus,
wenn man Klassenfunktionen verwendet, also
Beipiel:
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
"'\\1'.strtoupper('\\2').'\\3'",
$html_body);
Nur das eben hier strtoupper durch eine Klassenfunktion ersetzt wird.
Wie sieht dann die Syntax aus?

Re: Klassenfunktionen liefern Fehler bei array_map()

am 19.09.2006 15:18:33 von Helmut Chang

"Friedrich Lï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ ½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ ½" schrieb:

> $arr=array_map("$variables->delete_normalquotes",$arr);
> $arr=array_map("$variables->array_split",$arr);

, erste UCN.

gruss, heli