为什么PHP的内置函数使用常量而不仅仅是字符串作为参数?

Lou*_* B. 6 php

我注意到PHP的内部函数从不使用字符串作为预定义或有限值,只使用常量.

例如:

pad_type:

可选参数pad_type可以是STR_PAD_RIGHT,STR_PAD_LEFT或STR_PAD_BOTH.如果未指定pad_type,则假定为STR_PAD_RIGHT.

这里不使用字符串作为参数的原因是什么?

str_pad($test, 10, 0, 'left') 看起来比简单得多 str_pad( $test, 10, 0, STR_PAD_LEFT)

(这更像是一个元问题.我希望可以在这里问一下.)

Gol*_*rol 5

键入字符串时更容易出错.使用未定义的常量将发出警告.这不仅仅是一件PHP的事情.常规API函数(即OS)通常使用数字常量以及这样的参数.