Closed. This question is opinion-based。它当前不接受答案。
想要改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
7年前关闭。
Improve this question
在PHP中获取文件的基本名称(不带扩展名的文件名)的推荐方法是什么?
显然,两者都产生相同的输出。与另一种相比,使用一种有什么优势?
在性能方面,
输出:
除了边际性能提升之外,我还对这些功能在后台如何实现感兴趣?在两种情况下,用于检索基本名称的基础算法是否相似?
想要改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
7年前关闭。
Improve this question
在PHP中获取文件的基本名称(不带扩展名的文件名)的推荐方法是什么?
echo basename('foo.jpg', '.jpg');
// outputs "foo"
echo pathinfo('foo.jpg', PATHINFO_FILENAME);
// outputs "foo"
显然,两者都产生相同的输出。与另一种相比,使用一种有什么优势?
在性能方面,
basename()
似乎在1,000,000次迭代中快了约300ms:<?php
$f = 'foo.jpg';
$n = 1000000;
$start = microtime(true);
for ($i = 0; $i < $n; $i++) {
basename($f);
}
$stop1 = microtime(true);
for ($i = 0; $i < $n; $i++) {
pathinfo($f, PATHINFO_FILENAME);
}
$stop2 = microtime(true);
echo "Basename result: " . ($stop1 - $start) . " seconds\n";
echo "Pathinfo result: " . ($stop2 - $stop1) . " seconds\n";
输出:
Basename result: 1.0358278751373 seconds
Pathinfo result: 1.3277871608734 seconds
除了边际性能提升之外,我还对这些功能在后台如何实现感兴趣?在两种情况下,用于检索基本名称的基础算法是否相似?
最佳答案
如果只需要基本名称,则使用基本名称功能。在任何情况下,一如既往,请尝试使用耗费较少的操作;当可以直接在字符串中使用基本名称功能获得所需的信息时,为什么要创建不需要的信息数组(使用pathinfo)?
关于php - 哪个函数更适合于检索PHP : basename or pathinfo?中文件的基本名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18662127/
10-11 03:09