草庐IT

l_velocity_Array

全部标签

PHP in_array()/array_search() 奇怪的行为

我在使用PHP函数in_array()时发现了一些奇怪的行为。我有一个这样的数组:$arr=[TRUE,"somestring","somethingelse"];现在如果我想检查"test"是否在数组中,显然不在,但in_array()仍然返回TRUE,这是为什么呢?$result=in_array("test",$arr);var_dump($result);//Output:bool(true)同样的事情发生在使用array_search()时:$result=array_search("test",$arr);var_dump($result);//Output:int(0)我

PHP : How to count array if value > 10 without looping?

如果值>10而无需循环(foreach),是否仍然可以对数组进行计数?$arr=array(5,7,11,67,4,12,15);$wanted_output=4 最佳答案 只需使用array_reduce就不需要countechoarray_reduce($arr,function($a,$b){return($b>10)?++$a:$a;});//returns4 关于PHP:Howtocountarrayifvalue>10withoutlooping?,我们在StackOverf

php - 转换为数组 VS is_array()

有谁知道通过将变量转换为数组而不是先检查它会发生的任何问题、性能或其他问题?//$vcouldbeaarrayorstring$v=array('1','2','3');或$v='1';代替:if(is_array($v))foreach($vas$value){/*dothis*/}else{/*dothis*/}我已经开始使用:foreach((array)$vas$value){//dothis}它大大减少了代码的重复-但我考虑的是性能,而不是丑陋的代码。此外,有谁知道php如何处理将数组转换为数组?没有抛出任何错误,但是php引擎是否会检查它是否是一个数组,然后在执行转换过程之

PHP、in_array 和数组中的快速搜索(到最后)

我对在数组中进行快速搜索的更好方法有疑问(我说的是一个具体案例)。假设我有一个数组L=[A,B,C](当我开始时)。当程序运行时,L可能会增长(但到最后),我进行搜索的一种可能情况是L=[A,B,C,D,E]。事实是,当我搜索时,我想要查找的值可能只有D和E。现在我正在使用find_array(elem,array),但不能“调整”此函数来搜索从末尾开始并减少索引,我“担心”对于所有搜索,函数in_array将检查所有具有较低索引的元素,然后才能找到我正在搜索的值。¿还有另一个搜索功能更适合我的问题吗?¿in_array函数在内部如何工作?提前致谢 最佳答案

jquery 中等效的 php 函数 array_keys

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:howtofetcharraykeyswithjQuery?php内置函数array_keys(),相当于jqueryjquery中是否有类似于phparray_keys(),的内置函数。请推荐

php - 处理两个 $_POST 时出现警告 : array_merge(): Argument #1 is not an array,

我在处理$_POST['cpl']时收到以下错误警告:array_merge():Argument#1isnotanarray,尽管$_POST['add']工作正常if(is_array($_POST['add'])){foreach($_POST['add']as$key=>$value)$_POST['add'][$key]=mysql_real_escape_string($value);$en=array_merge($en,$_POST['add']);}if(is_array($_POST['cpl'])){foreach($_POST['cpl']as$key=>$va

php - 在 array_walk 中不在对象上下文错误中使用 $this

我在类中使用带有闭包的array_walk时遇到了一个奇怪的问题。在我使用php版本5.4.7的开发环境中不会出现问题,但在我的部署环境5.3.3中会出现问题。以下代码在我的生产机器上运行良好,但在我的部署环境中崩溃:userInput=$input;//Letsexplodetheusersinputandformatitinawaythatthisclass//willuseformarkingarray_walk($this->userInput,function(&$rawValue){$rawValue=array('raw'=>$rawValue,'words'=>$thi

php - isset、array_key_exists 和 !empty 的解决方法

这个问题在这里已经有了答案:Whycheckbothisset()and!empty()(10个答案)关闭9个月前。在编写php代码时,我尽量避免出现尽可能多的警告。关于数组,有一个问题困扰了我一段时间。在处理数组及其值时,我通常会先检查空值,然后再进行“实际工作”。if(array_key_exists('bla',$array){if(!empty($array['bla']){#dosomething}}我的问题是:有很多代码只是为了检查我是否有值可以使用。是否有一些更短的方法来检查数组中可能存在或不存在的值?

php - 交响乐 : error while accessing an array

我想输出一个包含数字的数组。我正在创建这样的数组(它收到了过去7天的统计信息):from('stJobj')->where('j.created_at=?',date('Y-m-dh:i:s',time()-86400*$i))->execute()->count();$tab[]=$q;}return$tab;}Action类.php$this->st_job=Doctrine::getTable('StJob')->getStatisticsTeams();在我的template.php中使用数组:$chart->inlineGraph(array('hits'=>$st_job)

php - array_reverse() 不重新排序子数组

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭2个月前。Improvethisquestion谁能帮我一些PHP。原始代码~有效,但输出顺序错误。所以我需要反转JSON数组的顺序/顺序。但是当我尝试使用下面的PHP(提取)代码反转序列时:$json=file_get_contents($url,0,null,null);$tmp=json_decode($json,true);//usin