Laravel impression de tableau dans la lame php
Je veux afficher un tableau dans mon .blade.php mais elle ne fonctionne pas correctement donc mon contrôleur ressemble à ceci:
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;
}
}
Et à l'intérieur de ma lame, j'ai juste essayé de l'appeler comme ceci:
{{ $watchFolder }}
mais il ne fonctionne pas, j'obtiens l'erreur suivante:
htmlentities() s'attend à ce paramètre 1 pour être string, array donné
Edit:
Le tableau I get affiche tous les Fichiers/Dossiers avec des sous-dossier dans un répertoire.
(utilisé jj())
Actuellement, il ressemble à ceci:
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" => []
]
vous avez besoin de faire une boucle sur les éléments, comme
Soit
Je veux montrer à ma lame magnifiquement plus tard..
Alors pourquoi n'avez-vous pas accepté Alexey la réponse?
êtes vous même en lisant les commentaires?
@foreach
il suffit de lire le manuel de la lameSoit
{{ print_r($array, true) }}
ou {!! dd($array) !!}
va vous aider 🙂Je veux montrer à ma lame magnifiquement plus tard..
Alors pourquoi n'avez-vous pas accepté Alexey la réponse?
êtes vous même en lisant les commentaires?
OriginalL'auteur John Does Legacy | 2016-03-16
Vous devez vous connecter pour publier un commentaire.
De votre question, il apparaît que si vous voulez à la sortie de la tableau des fins de débogage, qui comme je l'ai commenté, vous pouvez simplement utiliser
<?php
et?>
balises à l'intérieur de votre lame de modèles.Toutefois, la lame a une sortie raw étiquette de la paire qui est
{!!
et!!}
.Une fois que vous êtes prêt à afficher le résultat de votre structure de répertoire vous devez l'assigner à votre vue.
Il y a 2 façons rapides de l'aide soit avec de la Réflexion, à l'intérieur de votre contrôleur:
Ou l'appeler à partir du conteneur:
Également vous devrait être à l'aide de la Système de fichiers, il n'est pas nécessaire de réinventer la roue, Vous devriez lire le manuel.
OriginalL'auteur ash
Vous devez utiliser
@foreach
:Ou
Si vous vous demandez comment faire pour imprimer toutes les valeurs pour le débogage, vous pouvez essayer d'utiliser
dd($watchFolder);
dans votre contrôleur ou{{ dd($watchFolder); }}
de votre point de vue. Si vous vous demandez comment imprimer les valeurs de tableau dans profuction, regardez le code dans ma réponse.ne fonctionne pas, j'obtiens l'erreur suivante:ErrorException dans helpers.php ligne 469: htmlentities() s'attend à ce paramètre 1 pour être string, array donné
C'est parce que vous êtes la construction de complexes de tableau, merci de poster votre tableau de structure exemple dans votre question, afin que nous puissions être en mesure de vous aider.
édité ma question
OriginalL'auteur Alexey Mezenin
Juste à la sortie de la matrice de dans la lame pour des fins de débogage:
Puis utiliser une boucle foreach comme mentionné.
OriginalL'auteur Andrew
Pour ceux qui pourraient venir à la recherche...comme moi
d'autre si son tableau multidimensionnel
OriginalL'auteur Letlhogonolo Letlape