2016-10-23 5 views
0

Я хотел бы отфильтровать массив в соответствии с значением (total_mark keys). я имею в виду набор фильтров максимальное значение минимального значенияКак фильтровать этот массив в соответствии со значением

$array = Array(
     [0] => Array 
      (
       "roll_n" => 1, 
       "total_mark" => 250 
      ) 

     [1] => Array 
      (
       "roll_n" => 2, 
       "total_mark" => 388 
      ) 

     [2] => Array 
      (
       "roll_n" => 3, 
       "total_mark" => 518 
      ) 

    ) 

Мой ожидаемый результат:

$array = Array(
     [0] =Array 
      (
       "roll_n" => 1, 
       "total_mark" => 518 
      ) 

     [1] = Array 
      (
       "roll_n" => 2, 
       "total_mark" => 388 
      ) 

    ) 

Заранее спасибо ....

+0

Почему 'total_mark» => 250' удалены? – Mohammad

+0

Извините, я показал это только для понимания. это будет total_mark "=> 250 one, Thanks – cloud

+0

Спасибо вам. Для вашей помощи – cloud

ответ

0

Вы можете просто использовать usort отсортировать тип многомерная матрица:

usort($array, "custom_sort"); 

function custom_sort($a,$b) { 
     return $a['total_mark']<$b['total_mark']; 
} 
    print_r ($array); 

См. ссылку на PHP: USORT

Полный PHP файл:

<?php 
$array = Array(
      Array 
      (
       "roll_n" => 1, 
       "total_mark" => 250 
      ), Array 
      (
       "roll_n" => 2, 
       "total_mark" => 388 
      ),Array 
      (
       "roll_n" => 3, 
       "total_mark" => 518 
      ) 
    ); 

    echo '<pre>'; 
    print_r($array); 
    echo '</pre><hr>'; 

    echo '<pre>'; 

    usort($array, "custom_sort"); 

    function custom_sort($a,$b) { 
      return $a['total_mark']<$b['total_mark']; 
    } 

    $i = 0; 
    $array2 = array(); 
    foreach ($array as $arr){ 
     $arr['roll_n'] = $i; 
     $i++; 
     $array2[$i] = ['roll_n' => $i, 'total_mark' => $arr['total_mark']]; 
    } 
    print_r ($array2); // Final Output 

    echo '</pre>'; 
?> 
+0

Большое спасибо. – cloud

+0

Добро пожаловать :) Ответ обновлен с требуемым выходом – Imtiaz

+0

вы Awesome !!! – cloud

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