0

我在使用 xml 提要(原子)时遇到了一点麻烦。我正在运行一个 for each 循环以使用简单的 xml 返回价格并将它们也转换为数组,这在下面可以正常工作:-

foreach ($dc->departures->departure as $price)
{
    $lowest = $price->prices->price[5]->asXML();
    $lowestval = array($lowest);
    print_r($lowestval);
}

哪个正在返回:-

Array ( [0] => 2289 ) 
Array ( [0] => 2207 ) 
Array ( [0] => 2369 ) 
Array ( [0] => 2229 )

我的目标是只返回最低价格,因此我可以显示价格来源:区域。据我了解,我需要使用该min()函数,但是这只适用于一个具有多个值的数组。我试过 array_merge 似乎不起作用,只是返回与上面相同的内容。我是 PHP 新手,所以可能有一些明显的东西。朝正确方向踢球将不胜感激。

4

3 回答 3

1

尝试这个。它工作正常

<?php

foreach ($dc->departures->departure as $price)
{ 
$lowest = $price->prices->price[5]->asXML();
$lowestval[] = $lowest; 
}

$min = min($lowestval);
echo $index = array_search($min, $array);
?>
于 2013-07-15T10:19:04.450 回答
0
$data = array();
$data[] =Array (0 => 2289 ) ;
$data[] = Array ( 0 => 2207 ) ;
$data[] = Array ( 0 => 2369 ) ;
$data[] = Array ( 0 => 2229 );

array_multisort($data);
$first = array_shift($data);
var_dump($first);  // 2207
于 2013-07-15T10:25:38.130 回答
0

您还可以使用“sort()”函数对数组值进行排序。这是一个带有一些额外值以及合并数组的示例。

    $arry1 = array(
    array(5),
    array(10000),
    array(2289),
    array(2288),
    array(2207),
    array(2369),
    array(2229),
    array(5421),
    array(541) 
    );


   $arry2 = array(
       array(456789),
       array(54564)
   );
   $arry1 = array_merge($arry1,$arry2);

   sort($val);
   echo '<pre>';
   print_r($val);
   echo '</pre>';

那么您可以使用数组的第一个元素作为最小值。

    echo $arry1[0][0];
于 2013-07-15T10:39:45.243 回答