Php 按升序对数组的值进行分类

Php 按升序对数组的值进行分类,php,arrays,simplexml,Php,Arrays,Simplexml,我希望按照升序对表中的值进行分类,以便能够在变量$distancecp中使用它们。 我的var_dump很好地找到了我的值,但我无法按升序对它们进行分类 $select100=mysqli_query($conn,$select10); while($asso = mysqli_fetch_assoc($select100)) { $distancecp1 = getDistance(''.$villeselect.', '.$cpselect.'',''.$asso['ville'].

我希望按照升序对表中的值进行分类,以便能够在变量$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\u转储($distancecp2)的结果

我试过:

$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.' ';
}
}

My echo很好地返回了我的4个值,但没有按升序排列:(

仔细查看您的
var\u dump
输出:它没有打印所有结果的列表,但被调用了多次,每次都说“array(size=1)”。这个“size=1”是您的线索:您有一个列表,其中包含一个东西,使用
数组($something)创建
。如果您对一个列表进行排序,其中包含一个内容,您将得到相同的列表,其中包含相同的内容

您需要做的是为整个循环创建一个数组,并将所有项添加到其中:

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

  • 有关适当的排序方法,请参见此处:
  • 要将SimpleXMLElement对象转换为一个值,需要编写
    (string)$element

首先,将单个项目放入数组,然后对其进行
foreach
循环是没有意义的。其次,您尝试过解决这个问题吗?可能是@miken32的重复是的,我尝试过解决这个问题。我花了两周的时间在这个问题上拔头发,但我找不到解决方案:/Now I'm bald大笑
$results = array();
while ( ... ) {
    $distancecp1 = ...
    $results[] = $distancecp1;
}
var_dump($results);