PHP array_walk什么都不做?

标签 php arrays glob

我想将每个文件名放在 select 元素中的 $xsl_dir_path(绝对路径)中。我试过这个:

$files = glob($xsl_dir_path . "/*.xsl");
array_walk($files, 'basename');

但它根本不起作用,我仍然可以看到文件的全名。 我知道我可以在遍历 $files 并构建 option 元素时应用 basename,但我想在任何 html 输出之前执行此操作。

最佳答案

array_walk 在您的回调函数接受引用或使用用户定义的回调函数时很有用。在这种情况下,basename 参数不是引用。

你想要的是array_map :

$files = glob($xsl_dir_path . "/*.xsl");
$files = array_map('basename', $files);

关于PHP array_walk什么都不做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7540972/

相关文章:

php - 为什么方法和属性的可见性很重要?

php - Composer require-dev 从未添加到项目自动加载的包中自动加载

php - 自动维护/"We will be back"页

C - 使用 strtok 将字符串数组拆分为字符数组

javascript - JS : Reversing a string using nested loop does not work

node.js - 为什么我的 npm 脚本中的 glob 不起作用?

linux - 移动除一个以外的所有文件

php - Laravel Passport 在收到访问 token 后不验证用户身份

java - 检查字符串中每个字符是否有效

Tcl - 以 glob 模式匹配右括号