LoginSignup
18
20

More than 5 years have passed since last update.

配列に入れたオブジェクトをソートする(PHP5)

Posted at
test.php
<?php

class Shop
{
    var $kana;
    var $shopName;
    var $tel;

    function __construct($kana, $shopName, $tel)
    {
        $this->kana = $kana;
        $this->shopName = $shopName;
        $this->tel = $tel;
    }
}

function cmp($a, $b)
{
    $cmp = strcmp($a->kana, $b->kana);
    return $cmp;
}

// オブジェクトを配列に入れる
$shopList[] = new Shop("やまだとけいてん", "山田時計店", "03-6234-5678");
$shopList[] = new Shop("かとうふとんてん", "加藤ふとん店", "03-4234-5678");
$shopList[] = new Shop("うおとく", "魚徳", "03-3234-5678");
$shopList[] = new Shop("やまだとうふてん", "山田豆腐店", "03-5234-5678");
$shopList[] = new Shop("いのうえせいにくてん", "井上精肉店", "03-2234-5678");
$shopList[] = new Shop("あんどうせいかてん", "安藤青果店", "03-1234-5678");

// 配列をソート
usort($shopList , "cmp");

// 確認
print_r($shopList);

/*
結果

Array
(
    [0] => Shop Object
        (
            [kana] => あんどうせいかてん
            [shopName] => 安藤青果店
            [tel] => 03-1234-5678
        )

    [1] => Shop Object
        (
            [kana] => いのうえせいにくてん
            [shopName] => 井上精肉店
            [tel] => 03-2234-5678
        )

    [2] => Shop Object
        (
            [kana] => うおとく
            [shopName] => 魚徳
            [tel] => 03-3234-5678
        )

    [3] => Shop Object
        (
            [kana] => かとうふとんてん
            [shopName] => 加藤ふとん店
            [tel] => 03-4234-5678
        )

    [4] => Shop Object
        (
            [kana] => やまだとうふてん
            [shopName] => 山田豆腐店
            [tel] => 03-5234-5678
        )

    [5] => Shop Object
        (
            [kana] => やまだとけいてん
            [shopName] => 山田時計店
            [tel] => 03-6234-5678
        )

)
*/

?>
18
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
20