我在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
我在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
轻松:
$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
}
}
谢谢,是我正在寻找,谢谢 –
这将添加'$ idusuario'到第二个数组。它应该被排除在外。 – Paolo
想要排除它,然后更改'} else {'to'} else if($ element> $ idusuario){' –
另一种方法可以使用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
方法更快。
所以你不想在任何数组的匹配值....看看[array_filter()](http://php.net/manual/en/function.array-filter.php) –