2017-04-12 56 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方法更快。