草庐IT

php - 如何从值中获取对象 "key"?是否有类似 array_search 的对象?

我有这样一个类:stdClassObject([id]=>1[items]=>stdClassObject([0]=>123[1]=>234[2]=>345[3]=>456)))让我们调用上面的对象$foo。假设$v=234。给定$foo和$v,如何返回“key”1?如果$foo->items是一个数组,我会简单地执行$key=array_search($v,$foo->items);。但这在对象中不起作用。如何在不遍历某些foreach中的对象的情况下找到$v的键? 最佳答案 使用get_object_vars并搜索返回的数组。引

php - Laravel 在两个表中搜索 'LIKE' 查询

我目前正在尝试设置一个搜索栏来过滤两个表的结果,书籍和类别。我为两个模型设置了关系,其中:Book.php(型号)(表:id、b_name、b_author、cat_id)publicfunctionbookCategory(){return$this->belongsTo('Category','cat_id','id');}Category.php(模型)(表:id,cat_name)publicfunctionbook(){return$this->hasMany('Book','cat_id','id');}BookController.phppublicfunctionget

php - 在 PHP 数组中搜索一些文本

如何在PHP数组中搜索单词?我尝试了in_array,但它找到了完全相同的值。我希望这个实例返回true。我该怎么做?有什么作用吗?片段:https://glot.io/snippets/ek086tekl0 最佳答案 我不得不说我喜欢Gre_gor的简单answer,但对于更动态的方法,您还可以使用array_filter():functionmy_array_search($array,$needle){$matches=array_filter($array,function($haystack)use($needle){//

PHP:如何在数组中搜索特定键和返回值的所有条目?

我有一个多维数组,例如:$array=array(array('test'=>23,'one'=>'etc','blah'=>'blah'),array('test'=>123,'one'=>'etc','blah'=>'blah'),array('test'=>33,'one'=>'etc','blah'=>'blah'),);如何在数组中搜索所有键“test”并获取值?我希望添加在数组中找到的所有“测试”值,例如,它会得出“214”。数组应该是任意深度,但无论如何键都是相同的。 最佳答案 处理递归数组。$array=array(

PHP-REGEX : accented letters matches non-accented ones, 反之亦然。如何做到这一点?

我想做典型的高亮代码。所以我有类似的东西:$valor=preg_replace("/(".$_REQUEST['txt_search'].")/iu","\\1",$valor);现在,请求词可能类似于“josé”。有了它,我还想突出显示“jose”或“JOSÉ”或“José”等。对于这个表达式,如果我写“josé”,它会匹配“josé”和“JOSÉ”(以及所有大小写变体)。它始终只匹配重音变体。如果我搜索“jose”,它会匹配“JOSE”、“jose”、“Jose”,但不匹配重音符号。所以我部分满足了我的要求,因为我对重音和非重音分别不区分大小写。我需要它完全结合,这意味着重音(u

php - 使用php在多维数组中获取父数组键的最快方法

使用多维数组获取父数组键的最佳方法是什么?例如我有这个数组:array([0]=>array(0=>sample,1=>picture,2=>frame,3=>google)[1]=>array(0=>iphone,1=>orange,2=>love,3=>msn)[2]=>array(0=>joe,1=>geee,2=>panda,3=>yahoo))现在我需要搜索例如google并获取父数组键..它应该是0...有什么想法吗?我为此使用了for循环,但我认为如果我有700000行的数组,它会很慢。 最佳答案 如果您有一个包含70

php - 顺序 strpos() 比具有一个 preg_match 的函数更快?

我需要测试是否有任何字符串'hello'、'iam'、'dumb'存在于称为$ohreally的较长字符串中,如果其中一个存在,我的测试就结束了,我有知道如果其中一个发生,其他两个都不会发生。在这种情况下,我请求您帮助以最有效的方式编写此搜索,strpos()像这样3次?if(strpos($ohreally,'hello')){returnfalse;}elseif(strpos($ohreally,'iam')){returnfalse;}elseif(strpos($ohreally,'dumb')){returnfalse;}else{returntrue;}还是一个preg_

PHP 使用 preg_match 或正则表达式作为 array_search 的值或 array_keys_exist 的键

我想知道是否可以在array_seach()或array_keys_exist中使用正则表达式或preg_match()?即。array_keys_exist($array,"^\d+$")匹配所有纯数字字符的键 最佳答案 我不知道它是否完全符合您的需求,但您应该看看preg_grep函数,它将根据正则表达式检查字符串数组并返回所有匹配的数组元素。您可以对键执行相同操作,方法是在array_keys的返回值上使用preg_grep.这与array_search/array_key_exists在这方面不同,它们在找到匹配项后停止,因

用于匹配的 PHP 搜索数组列

我有一个数组,如下所示,它有多个列。我想在第一列中搜索特定值,并返回匹配的行。这可能吗?例如:Array([0]=>Array([id]=>1[column2]=>value2[column3]=>value3[column4]=>value4[column5]=>value5)[1]=>Array([id]=>1[column2]=>value2[column3]=>value3[column4]=>value4[column5]=>value5)[2]=>Array([id]=>2[column2]=>value2[column3]=>value3[column4]=>value4

php - Laravel4 POST 无法解释的重定向到 GET

另一个我没睡够的问题,我敢肯定。我将其发布为对老神墨菲的献祭:一旦我将我的愚蠢暴露给所有人看到,我保证自己找到那个答案,否则我会躲避几个小时(为了进一步忏悔,我也会发布答案)。我有一个呈现为的HTML表单表单可以通过jQuery$.POST提交,url为'/search',数据为{uid:'1701',query:$('#searchterm').val()}有效。如果我在输入内容后按ENTER,从而覆盖jQuery提交,将发生以下情况:按预期向服务器发出POST。Route::post('/search',function(){...不会被调用。返回301永久移动获取withsear