如何操纵数组

时间:2011-11-09 18:37:18

标签: php arrays associative

所以,我有这个数组:

Array ( [idservice] => 3 [level0] => 0.35 ) Array ( [idservice] => 3 [level0] =>
0.35 ) Array ( [idservice] => 2 [level0] => 6.00 ) Array ( [idservice] => 2 [level0]
=> 6.00 ) Array ( [idservice] => 100 [level0] => 20.00 ) Array ( [idservice] => 100 
[level0] => 20.00 )

我需要将3作为变量为它添加前缀以使其成为$ id_3并将level0设置为变量的值,如下所示

$id_3 = 0.35

我必须为所有数组执行此操作,因此最终我会:

$id_3   = 0.35
$id_2   = 2.00
$id_100 = 6.00

是可能的吗? oi需要foreach种语句,以便我可以同时获取所有变量。

2 个答案:

答案 0 :(得分:1)

您可以使用extract功能。 以下几行。

$newarray = array();
foreach ($yourarray as $array)
{
    $newkey = 'id_'.$array['idservice'];
    $newarray[$newkey] = $array['level0'];
}
extract($newarray);

您可以使用EXTR_PREFIX_ALL参数在每个变量名称前加id前缀。 请参阅文档here

答案 1 :(得分:1)

这应该做你想要的:

foreach ($array as $data) {
   $idVar = 'id_'.$data['idservice'];
   $$idVar = $data['level0'];
}

将导致:

$id_3   = 0.35
$id_2   = 2.00
$id_100 = 6.00