在PHP编程中,我们经常需要对数组进行筛选操作,例如筛选出数组中的奇数或偶数。那么在PHP中,如何实现数组筛选奇数和偶数的功能呢?本文将介绍两种方法供参考。
一、使用for循环对数组进行筛选
使用for循环对数组进行筛选,是最基础的方法。我们可以遍历数组,通过if语句判断数组中的每个元素是奇数还是偶数,然后将符合条件的元素保存到新的数组中。
以下是示例代码:
// 定义原始数组
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 定义新数组
$evenArr = array(); // 存储偶数
$oddArr = array(); // 存储奇数
// 循环遍历数组
for($i = 0; $i < count($arr); $i++){
if($arr[$i] % 2 == 0){ // 判断是否是偶数
$evenArr[] = $arr[$i]; // 存储偶数
} else {
$oddArr[] = $arr[$i]; // 存储奇数
}
}
// 打印输出结果
echo “原数组:”;
print_r($arr);
echo “<br />”;
echo “偶数数组:”;
print_r($evenArr);
echo “<br />”;
echo “奇数数组:”;
print_r($oddArr);
登录后复制
运行以上代码,输出结果如下:
原数组:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )
偶数数组:Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
奇数数组:Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )
登录后复制
可以看到,运行结果正确,偶数和奇数已经被成功筛选出来了。
二、使用PHP内置函数进行筛选
PHP提供了许多内置函数,可以方便地对数组进行操作,数组筛选也不例外。其中,array_filter()函数可以用来对数组进行元素筛选,其使用方法如下:
$newArr = array_filter($arr, function($n){
return ($n % 2 == 0); // 返回为真的元素,即偶数
});
登录后复制
上述代码中,我们使用了匿名函数作为array_filter()函数的第二个参数,使用$n变量代替数组中的每个元素。函数体中的返回语句判断元素是否为偶数,如果为偶数则返回为真,否则返回为假(即不加入新数组)。最终,新数组$newArr就是筛选出来的偶数数组。
除了使用匿名函数,array_filter()函数还可以直接使用预设的回调函数,例如使用“is_odd”回调函数筛选奇数:
function is_odd($n){
return ($n % 2 == 1); // 返回为真的元素,即奇数
}
$newArr = array_filter($arr, “is_odd”);
登录后复制
使用以上两种方法,都可以方便地实现PHP数组的筛选操作。当然,以上示例代码仅为演示,实际应用中可能需要结合实际情况进行更加灵活的操作。
以上就是php实现数组筛选奇数和偶数的详细内容,更多请关注php中文网其它相关文章!
© 版权声明
1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 1311978956@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
THE END
暂无评论内容