Php 排序simplexml数组
我有一个simplexml数组,我从google上的示例中获得了它。现在我必须对数组进行排序 这就是我所拥有的Php 排序simplexml数组,php,xml,simplexml,sorting,Php,Xml,Simplexml,Sorting,我有一个simplexml数组,我从google上的示例中获得了它。现在我必须对数组进行排序 这就是我所拥有的 $url = 'http://api.trademe.co.nz/v1/Member/2128687/Listings/All.xml'; $xml = simplexml_load_file($url); foreach($xml->List->Listing as $list){ echo $list->EndDate; echo '<br/>';
$url = 'http://api.trademe.co.nz/v1/Member/2128687/Listings/All.xml';
$xml = simplexml_load_file($url);
foreach($xml->List->Listing as $list){
echo $list->EndDate;
echo '<br/>';
}
$url='1!'http://api.trademe.co.nz/v1/Member/2128687/Listings/All.xml';
$xml=simplexml\u加载文件($url);
foreach($xml->List->Listing as$List){
echo$list->EndDate;
回声“
”;
}
一切都像它应该那样工作。我想按最接近结束日期对其进行排序
我尝试了所有我能找到的例子,我只是不断得到白色屏幕的东西
请帮忙 函数cmp($a,$b)
function cmp($a, $b)
{
$a = strtotime($a->EndDate);
$b = strtotime($b->EndDate);
if ($a == $b)
{
return 0;
}
return ($a < $b) ? -1 : 1;
}
uasort($xml->List->Listing, 'cmp');
print_r($array);
{
$a=strottime($a->EndDate);
$b=strottime($b->EndDate);
如果($a=$b)
{
返回0;
}
回报率($a<$b)?-1:1;
}
uasort($xml->List->Listing'cmp');
打印(数组);
使用
请也粘贴此数组的
var\u dump()
!整个阵列?它相当大,但可能你应该复制这个数组,并在其他数组上工作,而不是从这个对象。你的评论对我来说没有意义。。我不懂编码。你能解释一下吗?如果我想有3个排序选项,下一步是什么。按enddate(最接近的第一个)、按isfeatured(确实是第一个。isfeatured的顺序仍然是按最接近enddate)和按最低价格排序?将列表转换为数组(递归),然后尝试此解决方案进行排序
$xml = simplexml_load_file($url);
$listingarray = (array)$xml->List;
$listingarray = $listingarray['Listing'];
function compare($obj1,$obj2)
{
$time1 = strtotime($obj1->EndDate);
$time2 = strtotime($obj2->EndDate);
if($time1 == $time2)
return 0;
return ($time1 > $time2 ? -1 : 1);
}
usort($listingarray,'compare');
foreach($listingarray as $list)
{
echo $list->EndDate . '<br />';
}
?>
usort($listingarray,function($obj1,$obj2)
{
$time1 = strtotime($obj1->EndDate);
$time2 = strtotime($obj2->EndDate);
if($time1 == $time2)
return 0;
return ($time1 > $time2 ? -1 : 1);
});