как манипулировать массивом - PullRequest
0 голосов
/ 09 ноября 2011

Итак, у меня есть этот массив:

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, чтобы я мог получить все переменные одновременно.

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Это должно делать то, что вы хотите:

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

приведет к:

$id_3   = 0.35
$id_2   = 2.00
$id_100 = 6.00
1 голос
/ 09 ноября 2011

вы можете использовать функцию extract.Что-то в следующих строках.

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

Вы можете использовать параметр EXTR_PREFIX_ALL для префикса id перед каждым именем переменной.Смотри документацию здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...