I am unable to call a class method from a string in PHP. Here is a simple example. As soon as I get this working, I will use the variable as the name of the method.
This is how I usually call a method:
$tags_array = $this->get_tags_for_image($row["id"]);
This is how I try, but I get an error:
$tags_array = call_user_func('get_images_for_tag', $row["id"]);
I need to skip the scope, but I cannot figure out how to call the method.
---- EDIT It turned out that this calls the method, but $ row undefined now I believe
$tags_array = call_user_func(array($this, 'get_images_for_tag'), $row["id"]);
Full block of code:
$images = call_user_func(array($this, 'get_images_for_tag'), $filter); foreach ($images as $row){ $tags_array = call_user_func(array($this, 'get_images_for_tag'), $row["id"]); foreach ($tags_array as $tag_row){ $tags_array[] = $tag_row["tag"]; } $image_array []= array ( 'url' => $this->gallery_path_url . '/'. $row["name"], 'thumb_url' => $this->gallery_path_url . '/thumbs/' . 't_'. $row["name"], 'id' => $row["id"], 'description' => $row["description"],
source share