草庐IT

l_velocity_Array

全部标签

php - 在集合上使用 in_array

我需要检查名称数组中的名称,但我无法将数组而不是集合传递给in_array()方法。我的Blade代码看起来像这样@foreach($ecn->areasas$area){{$area->area}}:@foreach($area->peopleas$person)@if(in_array($person,$ecn->signatures->name)){{$person}}@else{{$person}}@endif@endforeach@endforeach我知道我的问题在于我尝试访问签名列表的方式。@if(in_array($person,$ecn->signatures->na

php - 与 array_chunk 相反

这个问题在这里已经有了答案:HowtoFlattenaMultidimensionalArray?(30个答案)关闭2年前。array_chunk使用block大小将数组拆分为多个数组以进行切割。如果我有一组值数组,而我只想要一个大值数组怎么办?我可以使用array_merge,但这需要我枚举所有子数组,其中可能有一个可变数字。目前,我的解决方案是:foreach($inputas$tmp){foreach($tmpas$val){...}}但这有点困惑,而且只在我想使用这些值时才有效。如果我想将数组存储在某个地方怎么办?编辑:输入来自一组框,用于从多个类别中选择项目。每个项目都有一个

PHP 和 NLP : Nested parenthesis (parser output) to array?

想要将带有嵌套括号的文本转换为嵌套数组。以下是NLP解析器的示例输出:(TOP(S(NP(PRPI))(VP(VBPlove)(NP(NP(DTa)(JJbig)(NNbed))(PP(INof)(NP(NNSroses)))))(..)))(原创:我喜欢一大片玫瑰。)想把它变成一个嵌套数组,所以它看起来像这样TOPSNPPRPIVPVBPLove等等找到这个phpcurlybracesintoarray但这不是嵌套数组 最佳答案 代码解释:current=array();$this->stack=array();$this->st

PHP if in_array 用于多个值

我有一个由3到12个值之间的任意值生成的数组,它根据帐户信息生成数组;$result=$ad->user()->groups($user['username']);我想检查这个数组是否有多个值(大约4或5),如果其中有任何值,则执行if内的操作,我可以很容易地通过以下方式对一个值执行此操作:if(in_array("abc",$result)){$this->login_session($user);}除了连续的OR之外,是否有一种简单的方法来检查这个数组中的多个值:if(in_array("abc",$result)||in_array("123",$result)||in_arra

PHP 通知 : Array to string conversion only on PHP 7

我是PHP新手。我是从php.net研究的,今天发现了一个问题。classfoo{var$bar='Iambar.';}$foo=newfoo();$bar='bar';$baz=array('foo','bar','baz','quux');echo"{$foo->$bar}\n";echo"{$foo->$baz[1]}\n";文档(http://php.net/manual/en/language.types.string.php)说上面的例子会输出:Iambar.Iambar.但是我在我的PC上运行了不同的输出(PHP7):Iambar.Notice:Arraytostring

PHP/SQL : ORDER BY or sort($array)?

您认为在PHP脚本中哪个更快:$query="SELECT...FROM...ORDERBYfirst_val";或while($row=odbc_fetch_array($result))$arrayname[]=array("first_key"=>$row['first_val'],"second_key"=>$row['second_val'],etc...);sort($arrayname); 最佳答案 这取决于太多因素,我什至不知道从什么开始。但通常,您在数据库端执行排序。索引、排序规则和所有这些,它们都有帮助。

php - 使用 array_diff(),如何从 array2 而不是 array1 中获取差异?

我正在尝试像这样使用array_diff。这是我的两个数组输出:列表1输出Array([0]=>0022806)列表2输出Array([0]=>0022806[1]=>0023199)PHP$diff=array_diff($list_1,$list_2);print"DIFF:".count($diff)."";print_r($diff);输出是:DIFF:0Array()知道我做错了什么吗?为什么没有返回0023199? 最佳答案 array_diff()中参数的顺序很重要Returnsanarraycontainingall

php array_intersect() 效率

考虑下面的脚本。只有三个值的两个数组。当我使用array_intersect()比较这两个数组时。结果很快。我的问题是array_intersect()的效率如何。我们是否比较两个数组,每个数组都有1000个值。会产生更好的结果.....我们需要使用一些散列函数来处理快速找到共同值(value)这将是有效的???..我需要你对此的建议...我正在做一个应用程序。如果一个人来并使用facebook登录。然后该应用程序将获取他的friend列表,并查找之前是否有friend在我的应用程序中发表评论并将其显示给他。大致一个friend在facebook上可能有200到300个friend,d

php - call_user_func_array 与 call_user_func

我今天遇到了一个有趣的问题。我们有一个利用ZendFrameworks缓存功能的应用程序。对此应用程序的请求通常使用以下行调用工厂方法$result=call_user_func_array(array("myclass","factory"),array($id));我们的想法是从工厂方法返回一个我们可以稍后访问的对象。当我们实现缓存功能时,这个调用就结束了。没有错误,只是白屏。错误日志中没有任何内容。我们可以在ok之前记录行错误,但是在工厂方法中尝试error_log什么都不做。有趣的是,将行更改为:$result=call_user_func(array("myclass","f

php - 为什么 is_array() 在 PHP 中会泄漏内存?

根据我的xdebug输出,is_array()泄漏了作为参数传递给它的内存量。如果我向它传递一个大数组,它会泄漏大量内存,只是为了检查它是否是一个数组。有解决办法吗?17.431321858520+70004->is_array()[...]/app/app_model.php:526这是导致泄漏的代码片段:$ret=$this->behaviors[$b[$i]]->afterFind($this,$results,true);if(is_array($ret)){$results=$ret;}我在Linux(Ubuntu9.04)上运行这个PHP:5.3.2调试:2.0.5unam