小编Cap*_*ack的帖子

PHP Recursive Iterator:当前数组迭代的父键?

我有这样一个数组:

$arr = array(
        $foo = array(
            'donuts' => array(
                    'name' => 'lionel ritchie',
                    'animal' => 'manatee',
                )
        )
    );
Run Code Online (Sandbox Code Playgroud)

使用'SPL Recursive Iterator'的魔力和这段代码:

$bar = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));

    foreach($bar as $key => $value) 
    {
        echo $key . ": " . $value . "<br>";
    }
Run Code Online (Sandbox Code Playgroud)

我可以遍历多维数组并返回key =>值对,例如:

名称:lionel ritchie动物:海牛

但是,我还需要返回当前迭代数组的PARENT元素,所以...

甜甜圈名称:lionel richie 甜甜圈动物:海牛

这可能吗?

(我只是意识到所有'Recursive Iterator'的东西,所以如果我遗漏了一些明显的东西,我道歉.)

php recursion spl

12
推荐指数
1
解决办法
4719
查看次数

Laravel 4验证 - 嵌套索引数组?

我有各种各样的东西......

$foo = [];
$foo['stuff']['item'][0]['title' => 'flying_lotus'];
$foo['stuff']['item'][1]['title' => 'various_cheeses'];
$foo['stuff']['item'][2]['title' => 'the_career_of_vanilla_ice'];
$foo['stuff']['item'][3]['title' => 'welsh_cats'];
Run Code Online (Sandbox Code Playgroud)

如何使用Laravel 4中的Validator方法验证'title'键?

这是我到目前为止所拥有的......

$validator = Validator::make($foo, ['stuff.item.???.title' => 'required']);
Run Code Online (Sandbox Code Playgroud)

我完全被索引数组搞砸了.任何帮助都会很棒.

php laravel

9
推荐指数
1
解决办法
6541
查看次数

如何将参数传递给队列?

我正在使用Laravel 5.5创建一个简单的队列来调整上传的图像.我无法弄清楚如何将参数传递给队列,例如图像的临时文件位置.我的同事使用旧版本的Laravel,其中字符串可以传递给作业,例如:

$this->dispatch(new ExampleJob($foo));
Run Code Online (Sandbox Code Playgroud)

但是,在Laravel 5.5中以相同的方式传递字符串,例如:

ExampleJob::dispatch($foo);
Run Code Online (Sandbox Code Playgroud)

将触发'BindingResolutionException'异常,因为它期望模型序列化.

如果是这种情况,我该如何传递其他内容?

php laravel laravel-5.5

5
推荐指数
1
解决办法
711
查看次数

流浪者置备和版本控制

我已经使用Anisible为我的Vagrant盒子创建了一个基本的LAMP堆栈。一切正常,等等,现在我希望团队中的成员使用同一框。

Vagrant建议每个项目一个Vagrant文​​件,这不是问题,但是配置资源,剧本,主机等如何?我很确定他们不应该致力于该项目的Git repo,那么我该如何处理他们呢?

我是否将它们提交到单独的存储库中,并简单地将它们克隆为子模块?如果是这种情况,我还应该包括Vagrant文​​件吗?

进一步以子模块的想法,将是很有意义的创建特定项目的分支,这种回购和克隆它们作为子模块还是我在看这个错误的方式?

php git version-control vagrant ansible

3
推荐指数
1
解决办法
203
查看次数

凌乱的自我加入Mysql SELECT

我需要返回一个产品ID列表...

  1. 在特定类别内(例如"服装")
  2. 具有各种属性,例如"红色"或"绿色"
  3. 它们本身属于属性'组',例如'Color'

当我需要在MULTIPLE属性组中选择MULTIPLE属性选项时,我会陷入困境.例如,如果我需要返回颜色为"蓝色"或"红色"且"大小"为"中"或"XXL"的产品列表.

这是我的代码:

SELECT `products.id` 
FROM 
`products` , 
`categories` ,
`attributes` att1, 
`attributes` att2   
WHERE products.id = categories.productid 
AND `categories.id` = 3 
AND att1.productid = products.id
AND att1.productid = att2.productid
AND 
(att1.attributeid = 58 OR att1.attributeid = 60)
AND 
(att2.attributeid = 12 OR att2.attributeid = 9)
Run Code Online (Sandbox Code Playgroud)

我相信这段代码有效,但它看起来很乱,我不确定我的'脏'自我加入是正确的方法.有没有人对我的问题更"优雅"的解决方案有任何想法?

mysql sql

2
推荐指数
2
解决办法
331
查看次数

SED - 替换占位符之间的文本

我需要你们中的一些 SED 向导来帮助一个菜鸟....

我正在使用 SED 替换某些占位符之间的文本。问题是它们在不同的行上(显然 SED 讨厌这一点)。

我需要替换的文本在“#SO”和“#EO”之间,如下所示:

#SO
I need to replace this text
#EO
Run Code Online (Sandbox Code Playgroud)

我想出了这个:

sed -ni '1h; 1!H; ${ g; s/#SO\(.*\)#EO Test/1/REPLACEMENT/ p }' foo.txt
Run Code Online (Sandbox Code Playgroud)

我刚刚开始掌握 SED,所以我可能完全错了,但任何建议都会很棒。

unix linux bash terminal sed

1
推荐指数
1
解决办法
3101
查看次数

标签 统计

php ×4

laravel ×2

ansible ×1

bash ×1

git ×1

laravel-5.5 ×1

linux ×1

mysql ×1

recursion ×1

sed ×1

spl ×1

sql ×1

terminal ×1

unix ×1

vagrant ×1

version-control ×1