Làm cách nào để thực hiện một hành động trong vòng lặp for
cứ 5 kết quả?Làm cách nào để thực hiện một hành động mỗi 5 kết quả?
Về cơ bản, tôi chỉ đang cố gắng mô phỏng một bảng có 5 cột.
Làm cách nào để thực hiện một hành động trong vòng lặp for
cứ 5 kết quả?Làm cách nào để thực hiện một hành động mỗi 5 kết quả?
Về cơ bản, tôi chỉ đang cố gắng mô phỏng một bảng có 5 cột.
bạn có thể sử dụng toán tử modulus
for(int i = 0; i < 500; i++)
{
if(i % 5 == 0)
{
//do your stuff here
}
}
Có thể sử dụng một điều kiện với một mô đun, như đã chỉ ra. Bạn cũng có thể làm điều đó với các vòng lặp lồng nhau.
int n = 500;
int i = 0;
int limit = n - 5
(while i < limit)
{
int innerLimit = i + 5
while(i < innerLimit)
{
//loop body
++i;
}
//Fire an action
}
Điều này hoạt động tốt nếu n được đảm bảo là bội số của 5 hoặc nếu bạn không quan tâm đến việc kích hoạt sự kiện bổ sung ở cuối. Nếu không, bạn phải thêm nó vào cuối, và nó làm cho nó ít đẹp hơn.
//If n is not guaranteed to be a multiple of 5.
while(i < n)
{
//loop body
++i;
}
và int giới hạn thay đổi = n - 5 đến int hạn = n - 5 - (n% 5)
Đối với một bảng HTML, hãy thử này.
<?php $start = 0; $end = 22; $split = 5; ?> <table> <tr> <?php for($i = $start; $i < $end; $i++) { ?> <td style="border:1px solid red;" > <?= $i; ?> </td> <?php if(($i) % ($split) == $split-1){ ?> </tr><tr> <?php }} ?> </tr> </table>
Một biến thể:
int j=0; for(int i = 0; i < 500; i++) { j++; if(j >= 5) { j = 0; //do your stuff here } }
Tôi theo phong cách cũ, tôi nhớ khi bộ phận mất một thời gian dài. Với cpus hiện đại nó có lẽ không quan trọng nhiều.
không phải là nếu phải là nếu (j == 5)? – mhd
// That's an easy one
for($i=10;$i<500;$i+=5)
{
//do something
}
Mã trong vòng lặp này sẽ không được gọi trong mỗi lần chạy thứ 5, nó sẽ được gọi trên mỗi mã! Chỉ có biến '$ i' của bạn sẽ tăng 5 lần. – tbraun89
này hoạt động để có được một chỉ số sống trong vòng lặp foreach:
<?php
// Named-Index Array
$myNamedIndexArray = array('foo' => 'bar', 'go' => 'habs', 'CSGO_bestTeam' => 'fnatic', 'test' => 'one two', 'potato' => 'french fries', 'tomato' => 'ketchup', 'coffee' => 'expresso', 'window' => 'cleaner', 'truck' => 'load', 'nine' => 'neuf', 'ten' => 'dix');
// Numeric-Index Array of the Named-Index Array
$myNumIndex = array_keys($myNamedIndexArray);
foreach($myNamedIndexArray as $key => $value) {
$index = array_search($key,$myNumIndex);
if ($index !== false) {
echo 'Index of key "'.$key.'" is : '.$index.PHP_EOL;
if (($index+1) % 5 == 0) {
echo '[index='.$index.'] stuff to be done every 5 iterations'.PHP_EOL;
}
}
}
Nếu hoàn cảnh cho phép bạn cũng có thể chỉ cần sử dụng 'for ($ i = 0; $ i <500; $ i + = 5) {...} '. – Joey
@Johannes Tôi nghĩ anh ấy muốn xử lý cho mọi số nguyên từ 0 đến n, nhưng kích hoạt một hành động cho mọi phần tử thứ 5. Tôi có thể nhầm lẫn. – patros
Lưu ý rằng '(i% 5 == 0)' sẽ chạy trên các dấu đầu tiên, thứ sáu, thứ mười một,…. Sử dụng '(i% 5 == 4)' để kích hoạt lần thứ năm, thứ mười, mười lăm,… thay vào đó. –