PHP-打印数组的偶数和(排序的)奇数

染色

我在下面给出了一个数组

$array = array(50,51,52,53,54,55,56,57,58,59);

我正在尝试打印数组的值,而偶数将保持相同的顺序,并且对奇数进行排序,即59,57,55,53,51

输出应该像

50,59,52,57,54,55,56,53,58,51

我已经在两个diff变量中分离了偶数和奇数。我应该如何进一步进行?

这是我的代码

  $even= "";
  $odd= "";

for($i=50;$i<=59;$i++)
{
    if($i%2==0)
    {
        $even.=$i.",";
    }else $odd.=$i.","; 
}   
echo $even.$odd; 
夏洛特·杜诺瓦(Charlotte dunois)

不用将偶数和奇数压入一个字符串,而是将它们分别压入一个数组中,对具有相反几率的数组进行反向排序,然后遍历其中一个(最好是通过偶数数组),然后将偶数和奇数添加到一个新的数组中。大批。

这是我的方法:

$array = array(50,51,52,53,54,55,56,57,58,59);
$odds = array();
$even = array();
foreach($array as $val) {
    if($val % 2 == 0) {
        $even[] = $val;
    } else {
        $odds[] = $val;
    }
}

sort($even);
rsort($odds);

$array = array();
foreach($even as $key => $val) {
    $array[] = $val;
    if(isset($odds[$key])) {
        $array[] = $odds[$key];
    }
}

https://3v4l.org/2hW6T

但是,如果您的奇数个数小于偶数,则应保持谨慎,因为循环将在所有奇数相加之前完成。您可以在填充新数组之前或之后进行检查。如果在填充新数组后进行检查,则可以使用array_diffarray_merge将丢失的赔率添加到新数组中。

http://php.net/array_diff http://php.net/array_merge

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP-打印数组的偶数和(排序的)奇数

来自分类Dev

打印数组的奇数和偶数元素

来自分类Dev

PHP打印数组内容

来自分类Dev

打印数组值PHP

来自分类Dev

php打印数组内容

来自分类Dev

打印数组值PHP

来自分类Dev

显示偶数和奇数SQL结果(PHP)

来自分类Dev

PHP打印数组不起作用

来自分类Dev

从MySQL在PHP中打印数组

来自分类Dev

打印数组中的单词(PHP)

来自分类Dev

在PHP中对表多维数组数组进行排序和打印

来自分类Dev

PHP使用array_map array_shift将数组切成奇数和偶数子数组

来自分类Dev

PHP使用array_map array_shift将数组切成奇数和偶数子数组

来自分类Dev

PHP 打印数组中数组的所有对象

来自分类Dev

C用于打印数字序列的线程:偶数和奇数打印线程并行运行

来自分类Dev

PHP-产品计数器(奇数和偶数)

来自分类Dev

打印数组中的偶数/奇数时输出错误-c

来自分类Dev

如何仅在php中打印数组数据

来自分类Dev

使用特定名称在 PHP 中打印数组

来自分类Dev

在 for 中打印数组 [i] 时的 PHP 错误

来自分类Dev

无法将数字数组排序为偶数和奇数

来自分类Dev

在数组中对偶数和奇数排序

来自分类Dev

如何只打印数组中的偶数?

来自分类Dev

PHP在不使用控件结构的情况下打印“偶数”或“奇数”

来自分类Dev

PHP 不是打印一个包含几个元素的数组,而是打印数组的数量

来自分类Dev

使用线程打印奇数和偶数

来自分类Dev

在pl / sql中打印奇数和偶数

来自分类Dev

Quicksort中不同的偶数和奇数排序

来自分类Dev

用随机数填充双精度数组,然后从该数组打印偶数和奇数