【发布时间】:2020-09-02 10:30:14
【问题描述】:
我想在匿名函数中使用 $array 作为 $element 语法来实现一个 for 循环
这可能吗?我不能使用 forEach,因为 $array 实际上是一个对象,并且 forEach 不会像使用数组那样复制对象
我正在使用 laravel,所以我正在尝试编写一个像 forEach 这样的刀片指令,但它会复制对象。
类似:
Blade::directive('safeForEach', function ($array as $el){
return '<?php for ($i = 0; $i < count($array); $i++){ ?>';
});
在调用@safeForEach 之后,我可以使用每个$el。
Blade::directive('endSafeForEach', function (){
return '<?php { ?>';
});
有什么想法吗?我试图找到刀片指令的来源,但找不到。 谢谢
【问题讨论】:
-
如果你可以访问类代码(即自定义类),我建议在你的类上实现iterator interface 或SPL.iterator 之一