我有一個數組:製作一個可被n整除的數組?
$arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
有沒有一種方法,使之包含元素只有3(或n)整除?那麼在上面的例子中,g
會被刪除,因爲它是從3的一個分區中剩下的?
編輯
我想整除的元素量3
我有一個數組:製作一個可被n整除的數組?
$arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
有沒有一種方法,使之包含元素只有3(或n)整除?那麼在上面的例子中,g
會被刪除,因爲它是從3的一個分區中剩下的?
編輯
我想整除的元素量3
您可以使用array_slice()
,count()
和模量(%
)的組合來獲取數組整除:
$arr_length = count($arr);
$new_arr = array_slice($arr, 0, $arr_length - ($arr_length % 3));
@panthro簡單地嘗試for循環像下面和使用array_pop()
<?php
$arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
if(count($arr) % 3 != 0){
$remainder = count($arr) % 3;
for($i=0;$i < $remainder;$i++){
array_pop($arr);
}
}
echo "<pre>";
print_r($arr); //final array divisible by 3
聽起來像是你想長度可以被3整除,並且您想要刪除元素直到發生這種情況秒。 array_slice
可以幫助你在這裏。
$to_remove = count($arr) % 3;
if($to_remove > 0){
$arr = array_slice($arr, 0, -$to_remove);
}
這是一個很好的解決方案。我喜歡。簡短,易於閱讀和合理。 – Loko
你可以通過'它for'循環,看看'$ I 3% == 0 ** **編輯:**對數值進行計數,將計數除以3,將結果四捨五入到最下方,然後將結果乘以計數並只取值直到計數乘以四捨五入的結果 – Loko
您的意思是元素的數量應該可以被3除? – Shogunivar
是的,我想要可以被3整除的元素的數量。 – panthro