Является ли get или basename () более эффективным? - PullRequest
0 голосов
/ 07 июня 2011

что из перечисленного ниже более эффективно?

  1. Использование функции get для токена (случайного), например:

    http://www.example.com/category/subcategory/subsubcategory?value=random $_GET['value']

  2. Сделайте токен частью URL-адреса и проанализируйте его, например:

    $url="http://www.example.com/category/subcategory/subsubcategory/random" basename($url)

И, собственно, базовое имя более эффективночем с помощью взрыва или substr(strrchr())?

Ответы [ 3 ]

2 голосов
/ 07 июня 2011

$ _ GET, очевидно, более эффективен, поскольку он ничего не вычисляет

Тем не менее, если вы не планируете вызывать это несколько тысяч раз в своем скрипте, это незначительно, поэтому используйте то, что, по вашему мнению, работает лучше.

$t = microtime(true);
for($i = 0; $i<1000; $i++) {
    $x = basename($url);
}
printf("%.3f\n", microtime(true) - $t);

0,010

2 голосов
/ 07 июня 2011

Используйте basename.Нет необходимости делать другую функцию, которая у вас уже есть.

Также в этом случае производительность совершенно незначительна

0 голосов
/ 07 июня 2011
  1. Не переживайте микрооптимизации.
  2. Если вы хотите потратить микрооптимизации, довольно просто протестировать № 1 против № 2.
  3. Независимо от минимальногоРазница в производительности, №2, как правило, предпочтительнее, потому что вы получаете дружественный URL.
...