2

我有一个包含三个值的文件名,这些值用下划线分隔。

文件名的示例可能是:

/ab1_cd2_ef3.php

现在,我想做的是捕获文件名中保存的值并将它们转换为局部变量,所以我可以:

$var1 = 'ab1';
$var2 = 'cd2';
$var3 = 'ef3';

所以本质上:

$filename = basename(__FILE__, ".php");

miracleFunction($fileName);

var_dump($miracleFunctionVars);
// Be be maybe an array like
$miracleFunctionVar[1] = 'ab1';
$miracleFunctionVar[2] = 'cd2';
$miracleFunctionVar[3] = 'ef3';
4

2 回答 2

4

这应该做的工作:

$filename      = basename(__FILE__, ".php"); //"ab1_cd2_ef3" basename removes ext
$splitfilename = explode('_', $filename);

导致:

$splitfilename[0] = "ab1";
$splitfilename[1] = "cd2";
$splitfilename[2] = "ef3";

explode通过分隔符将字符串拆分为数组。

这些函数的 PHP 文档:

http://php.net/manual/en/function.basename.php

http://php.net/manual/en/function.explode.php

于 2013-06-20T10:36:39.030 回答
2
$file = __FILE__;
$arr = split("_",$file);
$arr[$arr.length-1] = split(".",$arr[$arr.length-1]);
$arr[$arr.length-1] = $arr[$arr.length-1][0];

没有测试..我正在努力..

我通常做的是用“_”分割;然后我将“ef3.php”拆分为 [0]="ef3" [1]="php"; 所以我用 ef3 替换 ef3.php

于 2013-06-20T10:33:06.037 回答