Нужна помощь в манипулировании массивами (php) - PullRequest
0 голосов
/ 12 января 2011

У меня есть массив $ record

array(4) { 
[0]=> array(2) { ["ROLE_ID"]=> string(1) "2" ["SUBFUNCTION_ID"]=> string(3) "904" } 
[1]=> array(2) { ["ROLE_ID"]=> string(1) "2" ["SUBFUNCTION_ID"]=> string(3) "903" } 
[2]=> array(2) { ["ROLE_ID"]=> string(1) "2" ["SUBFUNCTION_ID"]=> string(3) "902" } 
[3]=> array(2) { ["ROLE_ID"]=> string(1) "2" ["SUBFUNCTION_ID"]=> string(3) "901" } 
} 

Как я могу манипулировать им, чтобы он стал таким?

array("901","902","903","904");

Заранее спасибо

Ответы [ 3 ]

5 голосов
/ 12 января 2011
$subfunctionIds = array();

foreach($record as $values) {
   $subFunctionIds[] = $values['SUBFUNCTION_ID'];
}

// If you want them reversed like in your example output...
$subFunctionIds = array_reverse($subFunctionIds);

var_dump($subFunctionIds);
2 голосов
/ 12 января 2011
    function fetch($row) {
       return $row["SUBFUNCTION_ID"];
    }
    $result = array_map("fetch", $record);
    sort($result);
    var_dump($result);

в 5.3+ вы могли бы сделать лучше:

    $result = array_map(function ($row) { return $row["SUBFUNCTION_ID"]; }, $record);
    sort($result);
    var_dump($result);
0 голосов
/ 12 января 2011

Попробуйте сделать это:

foreach ($array as $row ) {   
  $response[] = $row["SUBFUNCTION_ID"]; 
}
print_r($response);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...