array levels
am 14.08.2007 15:45:45 von Luca Cioria
I have to insert a string in an array at a particular level, creating
it if it doesn't exists.
example:
$levels=array(a,b,c) ***number of variables does vary
$name="my_name"
what I'd like to get
$final_array=(a=>array(b=>array(c=>"my_name")))
The final array is being filled in a foreach loop therefore $levels
and $name change at every loop.
How can I do this?
Re: array levels
am 14.08.2007 16:01:49 von ELINTPimp
On Aug 14, 9:45 am, Luca Cioria wrote:
> I have to insert a string in an array at a particular level, creating
> it if it doesn't exists.
>
> example:
>
> $levels=array(a,b,c) ***number of variables does vary
> $name="my_name"
>
> what I'd like to get
>
> $final_array=(a=>array(b=>array(c=>"my_name")))
>
> The final array is being filled in a foreach loop therefore $levels
> and $name change at every loop.
>
> How can I do this?
so...you want your $levels array to be a "map" of sorts, providing the
dimensions of the array?
and you want to push a $name value at the end of this, so you have n-
dimension array, every dimension only one value deep containing either
another array or the $name value?
$final_array = array();
foreach ($levels as $key=>$value) {
$array[$value] = array();
$final_array[] = $array(); // or array_push()
}
$final_array[] $name;
-steve
Re: array levels
am 14.08.2007 17:11:39 von gosha bine
On 14.08.2007 15:45 Luca Cioria wrote:
> I have to insert a string in an array at a particular level, creating
> it if it doesn't exists.
>
> example:
>
> $levels=array(a,b,c) ***number of variables does vary
> $name="my_name"
>
> what I'd like to get
>
> $final_array=(a=>array(b=>array(c=>"my_name")))
>
>
> The final array is being filled in a foreach loop therefore $levels
> and $name change at every loop.
>
> How can I do this?
>
For example, with a simple recursive function
function hierarchize($ary, $value) {
return empty($ary) ? $value :
array(array_shift($ary) =>
hierarchize($ary, $value));
}
# example
print_r(
hierarchize(
array('a', 'b', 'c'), 'myName'));
Hope you like the name. ;)
--
gosha bine
makrell ~ http://www.tagarga.com/blok/makrell
php done right ;) http://code.google.com/p/pihipi