簡體   English   中英

按升序對數組的值進行分類

[英]Classify the values of an array in ascending order

我希望按升序對表的值進行分類,以便能夠在變量 $distancecp 中使用它們。 我的 var_dump 很好地找到了我的值,但我無法按升序對它們進行分類。

$select100=mysqli_query($conn,$select10);
while($asso = mysqli_fetch_assoc($select100)) {
    $distancecp1 = getDistance(''.$villeselect.', '.$cpselect.'',''.$asso['ville'].', '.$asso['codep'].'');
    $distancecp2 = array($distancecp1);
    var_dump($distancecp2);
    foreach($distancecp2 as $distancecp) {
    }
}

var_dump($distancecp2)

array (size=1)
  0 => 
    object(SimpleXMLElement)[8]
      public 0 => string '68526' (length=5)

array (size=1)
  0 => 
    object(SimpleXMLElement)[10]
      public 0 => string '71824' (length=5)

array (size=1)
  0 => 
    object(SimpleXMLElement)[7]
      public 0 => string '67536' (length=5)

array (size=1)
  0 => 
    object(SimpleXMLElement)[9]
      public 0 => string '33902' (length=5)

我試過 :

$select100=mysqli_query($conn,$select10);
while($asso = mysqli_fetch_assoc($select100)) {
$distancecp1 = getDistance(''.$villeselect.', '.$cpselect.'',''.$asso['ville'].', '.$asso['codep'].'');
$distancecp2 = array($distancecp1);
asort($distancecp2);
foreach($distancecp2 as $distancecp){
    echo ''.$distancecp.' ';
}
}

我的回聲很好地返回了我的 4 個值,但沒有按升序排列:(

仔細查看您的var_dump輸出:它不會打印所有結果的列表,而是多次調用,每次都說“數組(大小 = 1)”。 “size=1”是你的線索:你有一個列表,里面有一個東西,用array($something)創建。 如果你對一個包含一件事的列表進行排序,你只會得到相同的列表,其中包含相同的內容。

您需要做的是為整個循環創建一個數組,並將所有項目添加到其中:

$results = array();
while ( ... ) {
    $distancecp1 = ...
    $results[] = $distancecp1;
}
var_dump($results);

然后:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM