protected static function arrayShuffling($itemsArray)
{
$itemSwitching = array();Switching
$shItem= array();
foreach ($itemArray as $i => $myItem) {
if (!in_array($myItem->_id, $itemSwitching)) {
$itemSwitching[$i]['_id'] = $myItem->_id;
$itemSwitching[$i]['poistion'] = $myItem['details']['move_to_poistion'];
}
foreach ($itemSwitching as $t => $pinPrep) {
if ($event->_id == $pinPrep['_id']) {
$shuffeledItem[$itemSwitching[$t]['poistion']] = $myItem;
unset($itemArray[$i]);
}
}
}
foreach($shItem as $key=>$shffuledItem){
array_splice( $itemArray, $key, 0, array($shffuledItem));
}
}
我有这个方法接受一个数组,然后查看$ myItem ['details'] ['move_to_poistion']索引,看看该元素应该移动到哪个位置。之后,它将该特定元素从数组中取出,然后使用splice将其插回到$ myItem ['details'] ['move_to_poistion']位置。 我担心太多的foreach lops,并想知道我们是否可以缩短这一点。 感谢