当前位置: 首页 > 面试题库 >

在Laravel上访问外部Redis流水线函数的变量

范朗
2023-03-14
问题内容

我正在尝试使用laravel进行简单的redis流水线命令,并且有一个问题:

$a = array("1","2","3");
Redis::pipeline(function($pipe)
{
   for ($i = 0; $i < count($a); $i++)
   {
      $pipe->set("key:$a", $a);
   }
});

我得到了“未定义变量:a”。我想我在这里错过了一些东西。有人可以帮忙吗?


问题答案:

这样,您就可以使变量在匿名函数的作用域内可见:

$a = array("1","2","3");
Redis::pipeline(function($pipe) use ($a)
{
   for ($i = 0; $i < count($a); $i++)
   {
      $pipe->set("key:$a", $a);
   }
});


 类似资料:
  • 问题内容: 我想使用匿名函数,所以我决定制作一个简单的主要查找器。这里是: 然而,我发现了什么,就是在每次访问,而我希望它是一个字面上的数字。我怎样才能使其成为替代? 问题答案: 您可以在创建lambda时“捕获” 这会将lambda的上下文设置为等于创建时的值。您还可以说,如果需要的话,它并不能完全捕获,但是可以满足您的需要。 这是一个查找问题,类似于具有定义函数的以下内容:

  • 问题内容: $.getJSON(“http://192.168.1.9:8983/solr/db/select/?wt=json&&start=0&rows=100&q="+query+"&json.wrf=?", function(result){ //$.each(result.response.docs, function(result){ 我得到我必须使ajax调用异步的问题。所以我确实喜

  • 问题内容: 我外面有一个数组: 我想让我的函数可以访问其外部的数组,以便可以向其添加值 如何为函数赋予正确的作用域范围? 问题答案: 默认情况下,当您在函数内部时,您无权访问外部变量。 如果您希望函数可以访问外部变量,则必须在函数内部将其声明为: 有关更多信息,请参见 可变作用域 。 但是请注意, 使用全局变量不是一个好习惯 :通过这种方法,您的函数不再是独立的。 一个更好的主意是使您的函数 返回

  • 本文向大家介绍JavaScript闭包函数访问外部变量的方法,包括了JavaScript闭包函数访问外部变量的方法的使用技巧和注意事项,需要的朋友参考一下 闭包是指有权访问另一个函数作用域中的变量的函数,但作用域的配置机制有一个需要注意的地方,即闭包只能取得包含函数中任何变量的最后一个值。 如以下案例: 执行结果: 表面上看,似乎每个函数返回的i值都不相同,比如c_arr[0]的值应该是0,c_a

  • 问题内容: 我正在尝试使用Firebase设置CollectionView中的单元格数量。我试图创建一个局部变量,并将其设置为与Firebase变量相同的值,但是当我尝试在函数外部使用它时,它将无法正常工作。我也尝试在ViewWillAppear中设置它,但是没有用。 我设置导航栏标题以查看值。当它在闭包中设置时,我得到了正确的值,当我在闭包外部(在firebase函数之后)写了它时,它的值为0。

  • 问题内容: 我是管道功能概念的新手。我有一些关于 从数据库的角度来看: 管道功能到底是什么? 使用管道功能的好处是什么? 使用管道功能解决了哪些挑战? 使用管道功能有什么优化优势? 谢谢。 问题答案: 引用“问汤姆·甲骨文”: 流水线函数只是“您可以假装为数据库表的代码” 流水线函数使您(让我惊讶) 在您认为可以使用它的任何时候-从函数而不是表中选择*可能是“有用的”。 就优点而言:使用Pipel