将特定项放在php foreach中的最后一个循环中
我想在foreach循环的最后一个循环中放置一个特定的数组元素 我确实尝试了以下代码,但我希望有一种更有效的方法来操作数组将特定项放在php foreach中的最后一个循环中,php,arrays,foreach,Php,Arrays,Foreach,我想在foreach循环的最后一个循环中放置一个特定的数组元素 我确实尝试了以下代码,但我希望有一种更有效的方法来操作数组 $sbk = ['LT','MT','KT','GT']; $sbl = ['LT','MT','GT']; $numItems = count($sbk); $i = 0; foreach($sbk as $rm){ if(in_array($rm, $sbl)){ echo $rm."\n"; } if(!in_array($rm, $s
$sbk = ['LT','MT','KT','GT'];
$sbl = ['LT','MT','GT'];
$numItems = count($sbk);
$i = 0;
foreach($sbk as $rm){
if(in_array($rm, $sbl)){
echo $rm."\n";
}
if(!in_array($rm, $sbl)){
$extra = $rm;
}
if( ++$i === $numItems) {
echo $extra."\n";
}
}
这是我的预期输出:
LT
MT
GT
KT
我希望解决方案处于if-else条件下
foreach($sbk as $rm):
if(in_array($rm, $sbl)){
//print LT MT GT
} else {
//make this the end of the foreach loop.
//since the item is not in the in_array, it should be here at the last loop.
}
endforeach;
您可以使用:
$new_array = array_unique(array_merge($sbk,$sbl));
这不会将“KT”元素放在最后一个循环中。这与最后一个循环无关。您希望获得$sbk
和$sbl
的值的交点。我说的对吗?或者你想让不寻常的元素移到最后?@vivek_23,我想在最后一个循环中打印“KT”。如果我想存储它而不是直接打印它,我的解决方案将不起作用。是,我希望不常见的元素进入最后一个循环。请尝试使用$sbl
而不是$sbk
进行foreach,因为我想全部打印它们,所以无法使用。我想把一个元素移到最后一个。。
<?php
$sbk = ['LT','MT','KT','GT'];
$sbl = ['LT','MT','GT'];
//Get the differece of sbk and sbl array. you will get the output KT in array.
$result=array_diff($sbk,$sbl);
//Merge the array result and sbl
$final_array = array_merge($sbl,$result);
//fatch the array value
foreach($final_array as $final_arrays){
echo $final_arrays .'<br/>';
}
?>