草庐IT

VT_ARRAY

全部标签

php - 不区分大小写的array_unique

我正在尝试编写几行代码来制作不区分大小写的数组唯一类型函数。到目前为止,这是我所拥有的:foreach($topicsas$value){$lvalue=strtolower($value);$uvalue=strtolower($value);if(in_array($value,$topics)==FALSE||in_array($lvalue,$topics)==FALSE||in_array($uvalue,$topics)==FALSE){array_push($utopics,$value);}}问题在于if语句。我认为我的语法有问题,但我对PHP比较陌生,我不确定它是什么

PHP : Remove object from array

在PHP中从对象数组中删除对象的优雅方法是什么?只是为了清楚..classData{private$arrObservers;publicadd(Observer$o){array_push($this->arrObservers,$o);}publicremove(Observer$o){//INEEDTHISCODEtoremove$ofrom$this->arrObservers}} 最佳答案 你可以做到functionunsetValue(array$array,$value,$strict=TRUE){if(($key=a

php - 我可以执行 Model->where ('id' , ARRAY) 多个 where 条件吗?

标题说明了一切。我知道我可以做到:DB::table('items')->where('something','value')->get()但是我想像这样检查多个值的where条件:DB::table('items')->where('something','array_of_value')->get()有没有简单的方法来做到这一点? 最佳答案 有whereIn():$items=DB::table('items')->whereIn('id',[1,2,3])->get(); 关于ph

php - 使用array_map调用数组中对象的方法?

假设我有一个简单的类:classMyClass{private$_prop;publicfunctiongetProp(){return$this->_prop;}[....]}现在我想在MyClass范围之外的地方做的是从MyClass的对象数组中获取$_prop数组($objs)。这当然可以用这样的代码来完成:$props=array();foreach($objsas$obj){$props[]=$obj->getProp();}然而,这需要引用一些行,尤其是在以这种方式格式化时(我必须使用这种格式)。所以问题是:是否可以使用array_map来做到这一点?一种方法是使用crea

php - 递归 array_diff()?

我正在寻找一些工具来为我提供两个数组的递归差异。我设想的是一个带有两个颜色编码树结构的网页。在每棵树上,绿色是数组中与两个数组都匹配的部分,红色是每个数组中不匹配的部分。类似于dBug的输出我有一些代码可以给我一个嵌套数组来填充报告。我正在开发一种应该更快的新方法,但我需要测试值和结构,以确保它提供与旧方法相同的输出。有什么东西可以用吗?或者我需要写这个吗?还是有其他方法可以实现我的目标? 最佳答案 在array_diff的评论中实现了一个这样的功能.functionarrayRecursiveDiff($aArray1,$aArr

php - array_map vs 循环和操作

使用:for($i=1;$i有人可以解释为什么会有这样的速度差异吗:array_map(array($maxHeap,'insert'),$arrayOfNumbers);#AvgTime:0.92856907844543s#againstforeach($arrayOfNumbersas$number){$maxHeap->insert($number);}#AvgTime:1.3148670101166$maxHeap是一个对象classMaxHeapextendsSplMaxHeap 最佳答案 据我所知,与SajithAmma

php - codeigniter,result() 与 result_array()

我同时使用result()和result_array()。通常我喜欢将结果作为数组获取,这就是我主要使用result_array()的原因..但我想知道我应该遵循哪种更好的方法,就性能而言,哪一个更有效?这是我在codeigniter查询中讨论的示例$query=$this->db->get();$result=$query->result_array();或者这应该是更好的方法吗??$query=$this->db->get();$result=$query->result();我现在也在我的通用模型中使用result_array。 最佳答案

php - while(list($key, $value) = each($array)) vs. foreach($array as $key => $value)?

最近我遇到了这个奇怪的问题:while(list($key,$value)=each($array))没有列出所有数组值,将其替换为...foreach($arrayas$key=>$value)...完美运行。而且,我现在很好奇..这两者之间有什么区别? 最佳答案 你之前是否遍历过这个数组?each()会记住它在数组中的位置,因此如果您不reset()它,您可能会遗漏项目。reset($array);while(list($key,$value)=each($array))就其值(value)而言,这种遍历数组的方法很古老,已被更

php - 在 array_filter 中使用外部变量

我有一个数组,我想通过外部变量对其进行过滤。情况如下:$id='1';var_dump($id);$foo=array_filter($bar,function($obj){if(isset($obj->foo)){var_dump($id);if($obj->foo==$id)returntrue;}returnfalse;});第一个var_dump返回ID(当然是动态设置的),但是第二个var_dump返回NULL。谁能告诉我原因,以及如何解决? 最佳答案 变量$id不在函数范围内。您需要使用use子句使外部变量可访问:$fo

php - 弹出数组的第一个元素而不是最后一个(反转 array_pop)?

是否有一个PHP函数可以“弹出”数组的第一个元素?array_pop()弹出最后一个元素,但我想弹出第一个元素。 最佳答案 您正在寻找array_shift()。PHPArrayShift 关于php-弹出数组的第一个元素而不是最后一个(反转array_pop)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/589601/