为了账号安全,请及时绑定邮箱和手机立即绑定

偶数、奇数、奇数、偶数、偶数等的模运算符

偶数、奇数、奇数、偶数、偶数等的模运算符

PHP
江户川乱折腾 2022-01-08 20:08:08
我对Modulo OperatorPHP很熟悉,但是,我正在尝试稍微改变一下。我希望它做到:a) 奇数、偶数、偶数、奇数、奇数、偶数、偶数、奇数、奇数等。或者B) 偶数、奇数、奇数、偶数、偶数、奇数、奇数、偶数、偶数等。目前正在使用,$i % 2但得到odd, even, odd, even, etc.. 我已经尝试通过将其更改为不同的数字来摆弄操作员本身,但我显然没有得到我想要的结果。有谁知道这是如何实现的?
查看完整描述

3 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

str_repeat顾名思义,您可以使用to do来实现此目的:重复创建字符串的模式:


for ($i = 1; $i < 11; $i++)

{

    echo ($i == 1 ? $i % 2 : str_repeat($i % 2, 2));

}


查看完整回答
反对 回复 2022-01-08
?
白衣非少年

TA贡献1155条经验 获得超0个赞

这里还有一个,


$str= "odd,";

for ($i = 1; $i < 11; $i++){

    $t = str_repeat($i % 2, 2);

    $str.= (intval($t) ? str_replace("1","even,",$t):'odd,');

}

echo rtrim($str,',');



输出:-


odd,even,even,odd,even,even,odd,even,even,odd,even,even,odd,even,even,odd


查看完整回答
反对 回复 2022-01-08
?
白板的微信

TA贡献1883条经验 获得超3个赞

对于以下系列:


 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21

您还可以从第 2 个位置(基于 0 的索引)开始将每个第 4 个元素与其下一个元素交换,以生成如下所示的系列:


1, 2, 4, 3, 5, 6, 8, 7, 9, 10, 12, 11, 13, 14, 16, 15, 17, 18, 20, 19, 21

代码:


<?php


$arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21];


$i = 2;

$size = count($arr);


while($i < $size-1){

    swap($arr,$i);    

    $i += 4;

}


function swap(&$arr,$i){

    $temp = $arr[$i];

    $arr[$i] = $arr[$i + 1];

    $arr[$i + 1] = $temp;

}


foreach($arr as $val){

    echo $val % 2 === 0 ? "even , " : "odd , ";

}

演示: https : //3v4l.org/htgMJ


查看完整回答
反对 回复 2022-01-08
  • 3 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号