从数组中提取负值和正值到两个单独的数组,

Rip*_*aha 8 php arrays function

我需要将一个数组分成两个数组.

一个数组将包含所有正值,另一个数组将包含所有负值,零将被视为正值.

示例数组:

$ts = array(7,-10,13,8,4,-7.2,-12,-3.7,3.5,-9.6,6.5,-1.7,-6.2,7);
Run Code Online (Sandbox Code Playgroud)

Sha*_*ran 13

不使用任何数组函数..

非常直截了当.只需遍历数组并检查数字是否小于0,如果是,则将其推入负数组,否则将其推入正数组.

<?php
$ts=array(7,-10,13,8,4,-7.2,-12,-3.7,3.5,-9.6,6.5,-1.7,-6.2,7);
$pos_arr=array(); $neg_arr=array();
foreach($ts as $val)
{
    ($val<0) ?  $neg_arr[]=$val : $pos_arr[]=$val;
}
print_r($pos_arr);
print_r($neg_arr);
Run Code Online (Sandbox Code Playgroud)

OUTPUT :

Array
(
    [0] => 7
    [1] => 13
    [2] => 8
    [3] => 4
    [4] => 3.5
    [5] => 6.5
    [6] => 7
)
Array
(
    [0] => -10
    [1] => -7.2
    [2] => -12
    [3] => -3.7
    [4] => -9.6
    [5] => -1.7
    [6] => -6.2
)
Run Code Online (Sandbox Code Playgroud)

  • 这是完美的.非常感谢. (2认同)

Rik*_*esh 7

你可以使用array_filter函数,

$positive = array_filter($ts, function ($v) {
  return $v > 0;
});

$negative = array_filter($ts, function ($v) {
  return $v < 0;
});
Run Code Online (Sandbox Code Playgroud)

注意:这将跳过0值,或者您可以将条件更改为>=0正数过滤器以在正组中考虑.

演示.