2011-09-06 39 views
1

我有一個類似下面的數組。php:如果數值爲空,如何向下移動數組值

Array 
(
    [0] => 100 
    [1] => 
    [2] => 107 
    [3] => 109 
) 

我也可能獲得多於​​一個的空值。我只是想將空值降低。

感謝您閱讀我的問題並等待您寶貴的答案。

+0

也許忽略該條目,您使用array_filter http://php.net/array_filter –

回答

3

我只是以相反的順序

arsort($myarray, SORT_NUMERIC); 

排序呢你最終的價值觀:

109, 107, 100, <blank> 

編輯:獲得在指定的順序值以下評論:

// initial data 
$a = (100, '', 107, 109); 

// define functions to detect blank/notblank 
function isBlank($var) { 
    return $var == ''; 
} 

function isNotBlank($var) { 
    return !isBlank($var); 
} 

// get two arrays, one containing blanks, one containing numbers 
$blanks = array_filter($a, 'isBlank'); 
$notBlanks = array_filter($a, 'isNotBlank'); 

// reverse sort the numbers 
arsort($notBlanks, SORT_NUMERIC); 

// merge the arrays 
$output = array_merge($notBlanks, $blanks); 

array_merge documentation

+0

是有可能得到的值幫助: 100,107,109, Prabu

+0

我已經更新了我的答案 –

+0

優秀它的作品!謝謝 – Prabu