我有数组
$myArr = [0, 1, 2 ..... , 100];
我有步变量
$step = 3;
我想在每个($ step)项目之后显示一些文本(例如“X”):
0 1 2 X 3 4 5 X 6 7 8 X 9 10 11 X ...
答案 0 :(得分:2)
生成所需字符串的算法如下:
for
循环遍历数组的元素。$step
字符串是否已添加$output
个数量。$step
个元素的数量附加到$output
字符串,则将X
附加到$output
字符串,否则将数组的当前元素追加到$output
字符串。$output
显示结果echo $output;
字符串。所以你的代码应该是这样的:
$output = '';
$count = count($myArr);
for($i = 0; $i < $count; ++$i){
if($i != 0 && $i % $step == 0) $output .= 'X ';
$output .= $myArr[$i] . ' ';
}
// Display resultant $outout string
echo $output;
答案 1 :(得分:2)
看起来X出现在$step
的倍数出现之前。因此,在打印循环元素$i
之前,我们需要检查它是否为3的倍数。试试这个:
$myArr = range(0,100);
$step = 3;
foreach ($myArr as $i) {
if ($i % $step == 0 && $i > 0) {
echo 'X';
}
echo $i;
}
答案 2 :(得分:2)
以下是实际数组输出的示例,它可以使用具有相同逻辑的任何类型的数组值,
$num_arr = array(0,1,2,3,4,5,6,7,8,9,10,11,12,13);
$step = 3;
$count = 0;
$i = 0;
$final_arr = array();
foreach ( $num_arr as $num ){
if( $i % $step == 0 && $i > 0 ){
$final_arr[$i+$count] = 'X';
$final_arr[$i+$count+1] = $num;
$count++;
}
else{
$final_arr[$i+$count] = $num;
}
$i++;
}
print_r($final_arr);
答案 3 :(得分:0)
您可以使用Array Functions尝试此操作:
import boto3
ec2 = boto3.resource('ec2')