Je dois extraire le nom de fichier " HomeModel " d'une chaîne app \ model \ common \ HomeModel . C'est ce que j'ai essayé
Tout d'abord, remplacez «\» par «/» en utilisant str_replace.
$model = 'app\model\common\HomeModel';
$file = str_replace("\\", '/', $model) . ".php";
echo $file;
Le résultat
app/model/common/HomeModel.php
Alors j'explose le résultat comme ça
$model = 'app\model\common\HomeModel';
$file = str_replace("\\", '/', $model) . ".php";
echo $file;
$result = explode("/", $file);
echo '<br>';
var_dump($result);
Et puis c'est ce que j'ai
array (size=4)
0 => string 'app' (length=3)
1 => string 'model' (length=5)
2 => string 'common' (length=6)
3 => string 'HomeModel.php' (length=18)
Maintenant, comment puis-je obtenir la dernière valeur «HomeModel» de ce tableau pour une utilisation ultérieure?, Je dois attribuer la valeur «HomeModel» à $ class.
5 réponses
end()
devrait faire le travail.
$class = end($result);
Vous pouvez essayer cette approche:
<?php
$model = 'app\model\common\HomeModel';
$fileName = substr(str_replace("\\", '/',$model), strrpos(str_replace("\\", '/',$model),'/') + 1).'.php';
echo $fileName;
Essaye celui-là,
$class = $result[count($result)-1];
Bien que end()
soit la réponse à cette question spécifique, j'encourage les autres membres à essayer une meilleure approche concernant le cas de la rupture d'un chemin vers ses parties en utilisant la fonction php pathinfo()
.
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['basename']; // since PHP 5.2.0. Output: lib.inc.php
Dans votre exemple, utilisez simplement le premier str_replace pour que ce soit un chemin valide et ajoutez manuellement l'extension php à la chaîne.
Vous pouvez utiliser la fonction pathinfo
$file = str_replace("\\", '/', $model) . ".php";
echo pathinfo($file)['filename']; // HomeModel
Questions connexes
De nouvelles questions
php
PHP est un langage de script largement utilisé, de haut niveau, dynamique, orienté objet et interprété, principalement conçu pour le développement Web côté serveur. Utilisé pour les questions sur le langage PHP.