0

次のphp配列が与えられます

$a = array(
    array('a'=>'111','b'=>'two','c'=>'asdasd'),
    array('a'=>'111','b'=>'one','c'=>'sdvsdfs'),
    array('a'=>'111','b'=>'three','c'=>'vbndfgn'),
    array('a'=>'222','b'=>'nine','c'=>'dfhfnd')
);

配列キー'a'ごとに最後の配列のみを返すにはどうすればよいですか?

望ましい結果:

$new = array(
    array('a'=>'111','b'=>'three','c'=>'vbndfgn'),
    array('a'=>'222','b'=>'nine','c'=>'dfhfnd')
);
4

1 に答える 1

3

もし私があなたなら、それを少し簡単に取得できるように、より良い形式で保存しようと思います。ただし、フォーマットに固執している場合は、次のことを試してください。

$a = array(
    array('a'=>'111','b'=>'two','c'=>'asdasd'),
    array('a'=>'111','b'=>'one','c'=>'sdvsdfs'),
    array('a'=>'111','b'=>'three','c'=>'vbndfgn'),
    array('a'=>'222','b'=>'nine','c'=>'dfhfnd')
);

$tmp = array();
foreach ($a as $value) {
    $tmp[$value['a']] = $value;
}

$new = array_values($tmp);

print_r($new);
于 2012-11-16T22:04:01.093 に答える