PHP使用array_slice之后数组的键被改变的解决方法

今天遇到一个问题,用股票代码作为key的数组在array_slice之后6开头的键值会变成0和1:
array_slice($totalResult, 0, 5);
Array
(
    [000950] => 78.6982
    [000960] => 76.982
    [0] => 76.8926
    [002541] => 76.7676
    [1] => 76.2656
)
在array_slice后面加上第四个参数true之后就正确了:
array_slice($totalResult, 0, 5, true);
Array
(
    [000950] => 78.6982
    [000960] => 76.982
    [600259] => 76.8926
    [002541] => 76.7676
    [600765] => 76.2656
)
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
的解释:
preserve_keys
注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将 preserve_keys 设为 TRUE 来改变此行为。

js、jQuery修改CSS中expression()的方法

在本博客的博文《在IE6 position不支持fixed属性的解决方案》中使用了CSS的expression来动态改变top的算术值:
/*IE6 动态设置top位置*/
_top: expression(eval(document.documentElement.scrollTop) +  450);
那么一定有人不禁要问,如何动态改变这个top的实际值,也就是修改这个expression的内容呢?方法如下:
var domThis=$(this)[0];
domThis.style.setExpression(
'top', 'eval((document.documentElement).scrollTop + ' +  50 + ')'
);

使用以上方法就可以解决动态修改expression的内容了。