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 太多,想知道我们是否可以缩短它。谢谢