2017-04-12 59 views
0

我在PHP中有一個數組,例如一些變量(1,2,3,4,5,6,7)我想要兩個單獨的數組所有變量都低於$idusuario(例如可能爲2),例如數組1將只有一個值「1」,並且數組2將具有「3,4,5,6,7」。在單獨的數組中獲取大於x且小於x的值PHP

PS:我的PHP變量是:

$arrayfinal[] --> the array I want to divide 
$idusuario --> the variable which separates both arrays 
+1

所以你不想在任何數組的匹配值....看看[array_filter()](http://php.net/manual/en/function.array-filter.php) –

回答

3

輕鬆:

$lessThan = array(); 
$greaterThan = array(); 

foreach($arrayFinal as $element){ // loop initial array 
    if($element < $idusuario){  // if element < idusuario, add to first array 
    $lessThan[] = $element; 
    }else{ 
    $greaterThan[] = $element; // add to second array 

排除和刪除$ idusuario

$lessThan = array(); 
    $greaterThan = array(); 

    foreach($arrayFinal as $element){ // loop initial array 
     if($element < $idusuario){  // if element < idusuario, add to first array 
     $lessThan[] = $element; 
     }elseif($element > $idusuario){ 
     $greaterThan[] = $element; // add to second array 
     } 
    } 
+0

謝謝,是我正在尋找,謝謝 –

+1

這將添加'$ idusuario'到第二個數組。它應該被排除在外。 – Paolo

+1

想要排除它,然後更改'} else {'to'} else if($ element> $ idusuario){' –

1

另一種方法可以使用array_filter,而不是foreach

$smaller = array_filter($array, function($value) use ($separator) { 
    return $value < $separator; 
}); 
$bigger = array_filter($array, function($value) use ($separator) { 
    return $value > $separator; 
}); 

但我猜想foreach方法更快。