I have been working on this a while. I see multi-dimensional arrays in php are not that easy. Here is my code:
while (list($key,$value) = each ($x))
{
Print "$key => $valuen<br>n";
}
This works well to display the keys of the main array. what I get is :
visitors => Array
actions => Array
actions-average => Array
time-average => Array
pages-entrance => Array
What I want is the visitors and the value (number of visitors), value of actions, etc. I want to then save the value in Mysql. Some I will have to convert from a string to and int or date.
I need to list one more level deep. But I cannot see how to do this. ————–Added ———– So what I have is an array of arrays. I need to step through each array.
Advertisement
Answer
did you try print_r ?
if you need more control over formatting then embedded loops as suggested by @Nick is the best option. Although it would be more natural and safer to use foreach loops rather than while.
foreach($x as $key => $value){
foreach( $value as $key2 => $value2){
print "$key $key2 => $value2n<br />n";
}
}
see PHP manual: each , there is a “caution” frame.
EDIT 1 I update sample code above for 2 day array.
It seems your array has more than 2 dimension. Then you should use recursion.
function my_print_r($x,$header="")
{
foreach($x as $key => $value){
if(is_array($value))
my_print_r($value,$header . $key . " " );
else
print "$header $key2 => $value2n<br />n";
}
}