×

phpinarray array 自定义

2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题?如何实现CSS3自定义滚动条样式

admin admin 发表于2022-07-05 12:08:43 浏览106 评论0

抢沙发发表评论

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