Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

array_walk always passing 0 as the parameter

1 view
Skip to first unread message

Mike

unread,
May 22, 2012, 1:13:17 PM5/22/12
to
array_walk is passing (int)0 as the parameter every time. What am I doing wrong?

I have a method to clean data, FilterInput::clean($value,$type), which I'm calling. I need to pass it the variable and the type I expect it to be.

When array_walk calls the function, I pass the variable type ('string' or 'int') to the method, but when it get's there the parameter always =0.

My code:

$data = array();
$data[0] = array('A Value','Another Value','Different Value');
$data[1] = array('12345','54321','11223');

array_walk( $data[0], array('FilterInput','clean'), 'string' );
array_walk( $data[1], array('FilterInput','clean'), 'int' );


Thanks!

Mike

Michael Fesser

unread,
May 22, 2012, 1:38:56 PM5/22/12
to
.oO(Mike)
The callback function should accept three parameters. From the manual:

| Typically, funcname takes on two parameters. The array parameter's
| value being the first, and the key/index second.

and

| If the optional userdata parameter is supplied, it will be passed as
| the third parameter to the callback funcname.

Also note:

| If funcname needs to be working with the actual values of the array,
| specify the first parameter of funcname as a reference. Then, any
| changes made to those elements will be made in the original array
| itself.

Micha

--
http://mfesser.de/blickwinkel
0 new messages