我有一个类,它可以引入Twitter提要并将它们合并,将它们放入一个数组中,进行排序和组合。然后我需要将“发布”时间从unix转换为人类。
在我的班级构造中,我有:
function __construct($inputs) {
$this->inputs = $inputs;
$this->mergeposts();
$this->sortbypublished($this->allPosts,'published');
$this->unixToHuman('problem here');
$this->output();
}
SortbyPublished是
function sortbypublished(&$array, $key) {
$sorter=array();
$ret=array();
reset($array);
foreach ($array as $ii => $va) {
$sorter[$ii]=$va[$key];
}
arsort($sorter);
foreach ($sorter as $ii => $va) {
$ret[$ii]=$array[$ii];
}
$this->sorted = $ret;
}
unixToHuman是:
public function unixToHuman($unixtime) {
$posts['published'] = date('Y-m-d H:i:s', $unixtime);
}
我的问题是我无法解决我需要进入的问题:
$this->unixToHuman('HERE');
我认为部分原因是由于我对PHP术语缺乏了解,这使得很难在手册中找到任何内容。我试图引用'已发布'数组吗?
我需要的是正确的版本:
$this->sorted['published']
我希望这有意义,任何帮助,尤其是术语非常感谢。
答案 0 :(得分:1)
看起来unixToHuman想要一个时间戳。所以你可以使用date(),或者你想要转换成人类可读时间的时间戳。
$this->unixToHuman(date());
答案 1 :(得分:0)
首先,unixToHuman
方法需要返回一个值,所以让我们这样做:
public function unixToHuman($post) {
$post['published'] = date('Y-m-d H:i:s', $post['published']);
return $post;
}
然后我们可以在__construct
方法中一次传递一行:
foreach ($this->sorted AS $idx => $row) {
$this->sorted[$idx] = $this->unixToHuman($row);
}