2015-01-02 3 views
0

Это кажется так элементарно ..
У меня есть ассоциативный массив, определенный в строке 2.
я называю asort() в строке 6 (чувствительно к регистру)
Мои результаты в строке 8, которая не правы.
Что я ожидаю/хочу в строке 10.
Может быть, я должен спать на нем?результаты asort в неправильном порядке

<?php 
    $a1 = array(1 => 'Brad', 2 => 'Chas', 3 => 'adam'); 
    print_r($a1); 
    // prints "Array ([1] => Brad [2] => Chas [3] => adam)" 
    echo "<br >\n"; 
    asort($a1, SORT_FLAG_CASE || SORT_NATURAL); 
    print_r($a1); // 
    // prints "Array ([3] => adam [2] => Chas [1] => Brad)" - wrong 
    // what I expect/want is 
    //  "Array ([3] => adam [1] => Brad [2] => Chas)" 
?> 

ответ

1

Пожалуйста, замените || с | в

asort($a1, SORT_FLAG_CASE || SORT_NATURAL); 

Я надеюсь, что это может помочь

+0

Jeez, спасибо. Я должен ждать 11 минут, чтобы согласиться. – dcromley

+0

Рад, что это помогло :) Все самое лучшее в Новый год 2015. –