2017-02-01 2 views
1

Я хочу классифицировать значения моей таблицы в порядке возрастания, чтобы иметь возможность использовать их в переменной $ 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 значения, но не попавшая в порядке возрастания :(

+0

Для начала нет смысла помещать один элемент в массив и затем делать над ним цикл foreach. Во-вторых, что вы пытались решить эту проблему? – miken32

+0

Возможный дубликат [Basic simpleXML рабочий пример?] (Http://stackoverflow.com/questions/1893024/basic-simplexml-working-example) – miken32

+0

@ miken32 Да, я попытался решить проблему, это две недели, которые я срывал мои волосы по этой проблеме, о которых я не могу найти решение:/Теперь я лысый lol – Chrys

ответ

1

Посмотрите внимательно на свой вывод var_dump: it 's не печатает список всех ваших результатов, но вызывается несколько раз, каждый раз, говоря «array (size = 1)». Это «размер = 1» - это ваш ключ: у вас есть список с одной штукой в ​​нем, созданный с помощью array($something). Если вы отсортируете список с одной вещью в нем, вы получите только тот же список, с тем же самым в нем.

Что вам нужно сделать, вместо того, чтобы это создать один массив для всего цикла, и добавить все детали к нему:

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

Тогда:

  • смотрите здесь уместно методы сортировки: How can I sort arrays and data in PHP?
  • , чтобы превратить объект SimpleXMLElement в просто значение, вы пишете (string)$element
+0

Большое спасибо! :) – Chrys

Смежные вопросы