php数组如何将奇数偶数分开

藏色散人
发布: 2019-01-14 13:21:46
原创
4815人浏览过

PHP如何在不使用循环的情况下将奇数和偶数元素与数组分开?

php数组如何将奇数偶数分开

在PHP中,您将获得n个元素的数组。您必须根据元素奇数或偶数将元素与数组分开。也就是说,分别打印奇数数组和偶数数组而不遍历原始数组或使用任何循环。

例子:

输入: array(2, 5, 6, 3, 0)
输出: 奇数array: 5 , 3
         偶数array: 2, 6, 0

输入: $input = array(0, 1, 2, 3, 4, 5)
输出: 奇数array: 1, 3, 5
         偶数array: 0, 2, 4
登录后复制

通过遍历数组并打印奇数甚至单独的元素可以很容易地解决这些类型的问题,但这会占用更多的代码行,并且代码中也会出现循环开销。因此,为了避免使用循环,我们将尝试使用PHP的一些内置函数。这里我们使用两个PHP数组函数array_filter()和array_values()来解决这个问题。

立即学习PHP免费学习笔记(深入)”;

array_filter():此函数将用于过滤输入数组中的奇数/偶数元素。

array_values():此函数将用于重新索引奇数和偶数数组,因为array_filter奇数和偶数数组具有与其元素在输入数组中具有的索引相同的索引。

注意: array_filter()函数只会过滤奇数/偶数索引元素及其索引值。应用array_filter()函数后,奇数数组的索引将为1,3,5,偶数数组的索引将为0,2,4。

算法:

过滤元素

通过array_filter()过滤奇数元素。

通过array_filter()过滤偶数元素。

重新索引数组:

使用array_values()重新索引奇数数组。

使用array_values()重新索引偶数数组。

打印奇数/偶数数组。

以下是上述算法的PHP实现:

<?php 
$input = array(4, 3, 6, 5, 8, 7, 2); 
function oddCmp($input) 
{ 
    return ($input & 1); 
} 
  
function evenCmp($input) 
{ 
    return !($input & 1); 
} 
  
$odd = array_filter($input, "oddCmp"); 
  
$even = array_filter($input, "evenCmp"); 
  
$odd = array_values(array_filter($odd)); 
  
$even = array_values(array_filter($even)); 
  
print"奇数数组:\n"; 
print_r($odd); 
  
print"偶数数组:\n"; 
print_r($even); 
  
?>
登录后复制

输出如下图:

9d8311cfe377f21d9f06d2982abba7b.png

本篇就是关于php数组如何将奇数偶数分开(不使用循环的方法)的具体方法介绍,希望对需要的朋友有所帮助!

以上就是php数组如何将奇数偶数分开的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号