0

所以,我有这个数组:

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

这有可能吗? o并且i需要foreach一种声明,以便我可以一次获取所有变量。

4

2 回答 2

1

This should do what you want:

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

will result in:

$id_3   = 0.35
$id_2   = 2.00
$id_100 = 6.00
于 2011-11-09T18:53:36.187 回答
1

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

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

您可以在每个变量名称之前使用EXTR_PREFIX_ALL参数作为前缀。在此处id查看文档

于 2011-11-09T18:47:34.167 回答