php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #4025 unable to use $this when calling array_walk from a class method.
Submitted: 2000-04-04 04:59 UTC Modified: 2001-09-09 09:31 UTC
From: php at tsquires dot demon dot co dot uk Assigned:
Status: Not a bug Package: Misbehaving function
PHP Version: 3.0.15 OS: Linux RH6.1 / WinNT4
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: php at tsquires dot demon dot co dot uk
New email:
PHP Version: OS:

 

 [2000-04-04 04:59 UTC] php at tsquires dot demon dot co dot uk
I would like to do something like this: 

class example { 
function print_a_list ( $an_array ) 
{.......} 

function do_something { 
{.... 
array_walk( fruits, "$this->print_a_list" ); 
....} 
} 

The error returned is 
Warning: Unable to call () - function does not exist in inc\example_class.php 

To get it working I have done this 

class example { 

function do_something { 
{ 
  if(!defined('PRINT_FUNCTION')) 
  { 
    define('PRINT_FUNCTION', TRUE); 
    function print_a_list ( $an_array ) 
    {.......} 
  } 
  .... 
  array_walk( fruits, "print_a_list" ); 
  .... 
} //end do_something 
} //end example class 

The define is to stop errors when I call the do_something method more than once for a single instance of the example class. If I don't it gives me a Cannot Redelare error. 
This is not really perfect becasue I have to declare print_a_list twice if I want to use it outside the do_something function.  Plus the code is abit messy. 

I've asked experts-exchange.com and studied the docs but I can find a way around it.  I've also tried it using php4 with the same results.
Thanks for your time,
Tim.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-09-09 09:31 UTC] sterling@php.net
not a bug, ask php support questions on
php-general@lists.php.net
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat May 10 22:01:26 2025 UTC