usort() + create_function()

シェアする

ひさびさにcreate_function()つかった。というかまともにプログラム組むのも久しぶりな気がするが。

多次元配列をソートしようとしたとき、用意されているsort関数が使えなくて、なんかあったよなーと思ってさがしたらすぐ出てきた。以下自分用メモ

<?php
$array = array(
  '0' => array('name' => 'Ubuntu'),
  '1' => array('name' => 'Debian'),
  '2' => array('name' => 'RedHat'),
  '3' => array('name' => 'Fedora')
);
usort($array, create_function('$a,$b','return $a["name"] > $b["name"];'));

print_r($array);
/* 結果(空白とかは削除)
Array(
    [0] => Array ( [name] => Debian )
    [1] => Array ( [name] => Fedora )
    [2] => Array ( [name] => RedHat )
    [3] => Array ( [name] => Ubuntu )
)
 */
Sponsored Link

シェアする

フォローする