Php 使数组可被n整除?
我有一个数组:Php 使数组可被n整除?,php,Php,我有一个数组: $arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']; 有没有办法使它只包含可被3或n整除的元素?那么在上面的例子中,g会被移除,因为它是3除法的剩余部分 编辑 我希望元素的数量可以被3整除。@panthro只需使用下面的for循环并使用array\u pop即可 <?php $arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']; if(count($arr) % 3 != 0){
$arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
有没有办法使它只包含可被3或n整除的元素?那么在上面的例子中,g会被移除,因为它是3除法的剩余部分
编辑
我希望元素的数量可以被3整除。@panthro只需使用下面的for循环并使用array\u 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
@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整除,并且希望删除元素,直到发生这种情况。数组\u slice可以在这里帮助您
$arr_length = count($arr);
$new_arr = array_slice($arr, 0, $arr_length - ($arr_length % 3));
听起来您希望长度可以被3整除,并且希望删除元素,直到发生这种情况。数组\u slice可以在这里帮助您
$arr_length = count($arr);
$new_arr = array_slice($arr, 0, $arr_length - ($arr_length % 3));
您可以使用array_slice、count和module%的组合来获得可均匀整除的数组:
您可以使用array_slice、count和module%的组合来获得可均匀整除的数组:
您可以通过for循环查看$i%3==0编辑:计算值,将计数除以3,将结果舍入底部,然后将计数乘以结果,只取值,直到计数乘以舍入结果。您的意思是元素的数量应该除以3吗?是的,我希望元素的数量可以除以3。因此,是否要删除元素,直到长度可被3整除?如果只有2个元素开始,那会变成0吗?对于当前的数组,预期的输出是什么?您可以对其进行for循环,查看$i%3==0编辑:计算值,将计数除以3,将结果四舍五入到底,然后将计数乘以结果,只取数值,直到计数乘以四舍五入的结果。你的意思是元素的数量应该除以3?是的,我希望元素的数量可以除以3。所以,你想删除元素,直到长度可以除以3?如果一开始只有2个元素,会变成0吗?对于当前的数组,预期的输出是什么?这是一个很好的解决方案。我喜欢。简短、易读且有意义。这是一个很好的解决方案。我喜欢。简短、易读且有意义。