PHP: изменение порядка массивов после unset ()

Здесь задействованы 2 функции.

  1. Поиск элементов массива для заданной строки
  2. unset () элемент массива, если строка не найдена

$array = array("first", "second", "third", "fourth");

foreach($array as $i=> $string) {  
 if(stristr($string, "e")) {  
    unset($array[$i]);
 }   

}

second - это элемент массива с символом 'e'. Если его не задано , $ array [1] останется пустым:

$array[0] = "first"  
$array[1] = ""  
$array[2] = "third"  
$array[3] = "fourth"

Я хочу $ array [1 ] , который нужно удалить из массива (как в array_shift () ), чтобы третье занимало место второе и четвертое место третьего : Я не обслуживаю базу данных, я просто могу ...

У меня вопрос о самом быстром способе выполнения запроса SQL Server к таблице TheTable, в которой есть следующие поля: TimeStamp, Col1, Col2, Col3 , Col4
Я не веду базу данных, я просто могу получить к ней доступ. Мне нужно выполнить 10 вычислений, которые похожи на:

Col2*Col3 + 5       
5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5)       

Затем я должен найти AVG и MAX результатов вычислений, используя данные за выбранный день (пока в базе данных есть данные за 8 месяцев). Поскольку выборка данных осуществляется каждые 0,1 секунды, в каждый расчет входит 864000 строк. Я хочу убедиться, что запрос выполняется как можно быстрее. Есть ли способ лучше, чем этот:

SELECT AVG(Col2*Col3 + 5), 
    AVG(5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5)), 
    MAX(Col2*Col3 + 5), 
    MAX(5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5)) 
FROM TheTable 
WHERE TimeStamp >= '2010-08-31 00:00:00:000' 
    AND TimeStamp < '2010-09-01 00:00:00:000'

Спасибо!

1
задан KAE 20 September 2010 в 17:14
поделиться