2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
但是如果数组比较大的时候,性能就会下降,运行的就会久一点,那如果针对在大数组情况下做优化呢,下面说两种方法(都是通过自定义函数来实现):
1.数组key与value翻转,通过isset判断key是否存在于数组中
复制代码
代码如下:
/**
*
in_array
is
too
slow
when
array
is
large
*/
public
static
function
inArray($item,
$array)
{
$flipArray
=
array_flip($array);
return
isset($flipArray[$item]);
}
大家可能也会问为什么不用
array_key_exists
来做判断二用isset呢?
下面看下array_key_exists()
与
isset()
的对比:
isset()对于数组中为NULL的值不会返回TRUE,而array_key_exists()会。
复制代码
代码如下:《?php
$search_array
=
array(’first’
=》
null,
’second’
=》
4);
//
returns
false
isset($search_array[’first’]);
//
returns
true
array_key_exists(’first’,
$search_array);
?》
如何实现CSS3自定义滚动条样式
在chrome下可以自定义滚动条样式,举个例子
::-webkit-scrollbar
{
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track-piece
{
background-color: rgba(204, 204, 204, 0.66);
-webkit-border-radius: 0px;
}
::-webkit-scrollbar-thumb
{
border-radius: 6px;
-webkit-border-radius: 6px;
background-color: #7b7b7b;
}
/*定义横向和纵向交点的样式*/
::-webkit-scrollbar-corner { background-color: transparent; }
这里可以定义滚动条的粗细度和颜色等,至于更具体的诸如分别定义横竖滚动条样式等需要你自行修改。
另外也可以利用一些开源的滚动条插件来实现你需要的效果,比如我之前使用过的nicescroll.js,在浏览器兼容方面会好一些,但是可能会对系统的稳定性有影响,这个需要你权衡。
php in_array返回值得问题
在PHP的布尔类型中
echo false; #在HTML页面中不会有任何输出,属于空,可以用于判断,但是不可见
var_dump(false); #就能看到 bool(false),可见
echo true; #在HTML页面中会输出 1,可以用于判断
var_dump(true); #就能看到 bool(true),可见
打印方式不同,判断是没有问题,只是不会输出 布尔类型的 false