组合数据和干预数据
/** * 组合数据和干预数据
*$meddleData pos[] = array()
*/
function combineDataAndMeddleData($datalist, $meddleData, $size) {
$resultData = $combineData = array();
$tmpIndex = 0;
foreach ($meddleData as $i => $data) {
$tmpIndex = $i;
foreach ($resultData as $k => $v) {
if (isset($resultData[$tmpIndex])) {
$tmpIndex++;
}
}
foreach ($data as $val) {
$resultData[$tmpIndex] = $val['data'];
$tmpIndex++;
}
}
$meddleData = $resultData;
// 组合数据
// 去除重复数据
for ($i = 0; $i < $size; $i++) {
$tmpData = isset($meddleData[$i]) ? $meddleData[$i] : array_shift($datalist);
$tmpId = $tmpData['type'] . $tmpData['id'];
if(!isset($combineData[$tmpId])) {
$combineData[$tmpId] = $tmpData;
}
}
$combineData = array_values($combineData);
return $combineData;
}
二维数组排序
/** * 方法:根据指定字段 $sort_key 对指定数组 $multi_array 排序 * * @param array $multi_array 需要排序的数组 * @param string $sort_key 指定排序字段 -- 必须 * @param int $sort : 按升序排列。(A-Z) || SORT_DESC : 按降序排列。(Z-A) * @param int $type || SORT_NUMERIC-将每一项按数字顺序排列 || SORT_STRING-将每一项按字母顺序排列 * * @return array|bool */ function getMultiArraySort($multi_array, $sort_key, $sort = SORT_ASC, $type = SORT_NUMERIC) { if (is_array($multi_array)) { foreach ($multi_array as $row_array) { if (is_array($row_array)) { $key_array [] = $row_array [$sort_key]; } else { return false; } } } else { return false; } array_multisort($key_array, $sort, $type, $multi_array); return $multi_array; }