将数组导入类并使用foreach循环

时间:2016-10-19 08:51:51

标签: php arrays class sorting constructor

create database DB;

create table DB.product (
    name varchar(255),
    price int
);

insert into DB.product values("procuct1", 100);
insert into DB.product values("procuct2", 200);
insert into DB.product values("procuct3", 300);
insert into DB.product values("procuct4", 400);

我想使用foreach遍历数组$ arr,同时也在排序函数my_sort中循环,但我无法弄清楚如何正确引用数组。我设置了一个引用数组的公共构造函数,但我不确定如何在数组初始化之后与数组进行交互。

1 个答案:

答案 0 :(得分:0)

imo有两个问题:

  • "导入"你上课的数组:你做的还不错
$arr = array("b"=>4,"a"=>2,"c"=>8,"d"=>"6");
$sort = new Sort($arr);

您的数组现已在您的类中引用

  • 对数组进行排序:向类中添加sort()函数
public function sort()
{
    return uasort($this->arr, array(__CLASS__, "my_sort"));
}

使用功能

$sort->sort();

PS:你的my_sort函数错误,它不应包含$ this。使用另一个非静态函数来抛出数组。

您可以修改sort()函数,即:

public function sort()
{
    foreach ($this->arr as $item) {
        //stuff
    }
    return uasort($this->arr, array(__CLASS__, "my_sort"));
}