Description
int
array_walk
( array array, string func [, mixed userdata])
Applies
the
user-defined
function
named
by
func
to
each
element
of
array
.
func
will
be
passed
array
value
as
the
first
parameter
and
array
key
as
the
second
parameter
.
If
userdata
is
supplied
,
it
will
be
passed
as
the
third
parameter
to
the
user
function
.
func
must
be
a
user-defined
function
,
and
can
'
t
be
a
native
PHP
function
.
Thus
,
you
can'
t
use
array_walk(
)
straight
with
str2lower(
)
,
you
must
build
a
user-defined
function
with
it
first
,
and
pass
this
function
as
argument
.
הערה
:
במקום
שם
פונקציה
,
ניתן
לספק
גם
מערך
המכיל
הכוונה
לאובייקט
ושם
שיטה
.
If
func
requires
more
than
two
or
three
arguments
,
depending
on
userdata
,
a
warning
will
be
generated
each
time
array_walk(
)
calls
func
.
These
warnings
may
be
suppressed
by
prepending
the
'
@
'
sign
to
the
array_walk(
)
call
,
or
by
using
error_reporting(
)
.
הערה
:
If
func
needs
to
be
working
with
the
actual
values
of
the
array
,
specify
that
the
first
parameter
of
func
should
be
passed
by
reference
.
Then
any
changes
made
to
those
elements
will
be
made
in
the
array
itself
.
Modifying
the
array
from
inside
func
may
cause
unpredictable
behavior
.
הערה
:
Passing
the
key
and
userdata
to
func
was
added
in
4.0
.
In
PHP
4
reset(
)
needs
to
be
called
as
necessary
since
array_walk(
)
does
not
reset
the
array
by
default
.
Add
/
delete
element
,
unset
the
array
that
array_walk(
)
is
applied
to
.
If
the
array
is
changed
,
the
behavior
of
this
function
is
undefined
.
דוגמה
1
.
array_walk(
)
example
$fruits
=
array
(
"d"=
"lemon"
,
"a"=
"orange"
,
"b"=
"banana"
,
"c"=
"apple")
;
function
test_alter
(
$item1
,
$key
,
$prefix
)
{
$item1
=
"$prefix
:
$item1"
;
}
function
test_print
($item2
,
$key
)
{
echo
"$key
.
$item2
br
\n"
;
}
echo
"Before
...:\n"
;
array_walk
($fruits
,
'test_print')
;
reset
($fruits)
;
array_walk
($fruits
,
'test_alter'
,
'fruit')
;
echo
"..
.
and
after:\n"
;
reset
($fruits)
;
array_walk
($fruits
,
'test_print')
;
|
|
See
also
each(
)
and
list(
)
.