刀片php中的Laravel打印数组

2022-04-10 00:00:00 arrays php laravel blade

我想在我的.blade.php中显示一个数组,但它不能正常工作,因此我的控制器如下所示:

class WatchController extends Controller
{

    public function index()
    {
        $watchFolderPath = 'C:\xampp\htdocs\Pro\rec\';
        $watchFolder     = $this->dirToArray($watchFolderPath);
        return view('watch.new')->with('watchFolder', $watchFolder);
    }

    # Get Directories of Path as Array
    function dirToArray($dir) {

        $result = array();

        $cdir = scandir($dir);

        foreach ($cdir as $key => $value)
        {
            if (!in_array($value,array(".","..")))
            {
                if (is_dir($dir . DIRECTORY_SEPARATOR . $value))
                {
                    $result[$value] = $this->dirToArray($dir . DIRECTORY_SEPARATOR . $value);
                }
                else
                {
                    $result[] = $value;
                }
            }
        }
        return $result;
    }
}

在我的刀片中,我只是试着这样称呼它:

{{ $watchFolder }}

但它不起作用,我收到以下错误:

htmlEntities()要求参数%1为字符串,给定的数组

编辑: 我得到的数组显示一个目录中有子文件夹的所有文件夹/文件。 (已用dd())

目前看起来是这样:

array:6 [▼
  123123 => array:2 [▼
    "subfolder1" => array:1 [▼
      0 => "video.mpg"
    ]
    "subfolder2" => array:1 [▶]
  ]
  789 => array:2 [▶]
  "folder1" => array:2 [▶]
  "folder2" => array:2 [▶]
  "folder3" => array:2 [▶]
  "folder1" => []
]

解决方案

仅在刀片中输出数组以进行调试:

        @php
            var_dump($arr);
        @endphp

然后使用前面提到的Foreach循环。

相关文章