define()函数的定义如下:
bool define(string $常量名,mixed $常量值[,bool $是否区分大小写=false])
常量不能被改变或者取消定义,使用常量时不需要加$
符。
define('a','啊啊啊',true);
echo A;
输出:
啊啊啊
PHP5.3之后可以使用const关键字,像C++那样直接定义常量。
const LZH="啊啊啊";//const自动区分大小写,常量尽量写成全大写
echo LZH;
输出:
啊啊啊
魔术常量是会随其所在目录、文件位置、上下文环境而变化的预定义常量。魔术常量不区分大小写。
echo '当前行号:',__LINE__;
echo '
';
echo '文件绝对路径:',__FILE__;
echo '
';
echo '文件所在目录:',__DIR__;
function myfun(){
echo '
';
echo '函数名:',__FUNCTION__;
}
myfun();
class mycls{
static function myfun(){
echo '
';
echo '所在类名:',__CLASS__;
echo '
';
echo '所在的类的方法名:',__METHOD__;
}
}
mycls::myfun();
echo '
';
echo '当前命名空间名称:',__NAMESPACE__;
输出:
当前行号:2
文件绝对路径:E:\MyProgram\wamp64\www\lzh\fromPS.php
文件所在目录:E:\MyProgram\wamp64\www\lzh
函数名:myfun
所在类名:mycls
所在的类的方法名:mycls::myfun
当前命名空间名称:
另外还有一个__TRAIT__
可以输出Trait的名字,以后学到再看。
用.
来并置连接字符串,或能转换成字符串的数据。
$a = 'lzh';
$b = 250;
echo $a . ' is ' . $b;
输出:
lzh is 250
函数strlen()
用于以面向过程的方式获取字符串长度。
$a = 'lzhSB';
$b = '啊啊啊';
$c = 'lzhSB啊啊啊';
$d = '';//空串
echo strlen($a) . ' ' . strlen($b) . ' ' . strlen($c) . ' ' . strlen($d);
输出:
5 9 14 0
可见在PHP中一个中文字的长度是3。
函数strpos()
用于返回子串在母串中第一次出现的位置,没有则返回false
。
$a = 'lzh SB not OK';
echo strlen($a);
echo "
";
echo strpos($a,'not');
输出:
13
7
函数trim()
,ltrim()
,rtrim()
分别返回删除了原串两侧、左侧、右侧的连续指定字符后的字符串。
$a = 'aaabbbaa';
echo trim($a, 'a');
echo "
";
echo ltrim($a, 'a');
echo "
";
echo rtrim($a, 'a');
输出:
bbb
bbbaa
aaabbb
函数explode()
按指定分隔符分割字符串,形成数组并取其前一部分元素。
array explode(string $分隔符,string $原串[,int $最大长度]);
$a = 'aacabbacc';
$arry_b = explode('a', $a);
echo $arry_b[0];
echo "
";
echo $arry_b[1];
echo "
";
echo $arry_b[2];
echo "
";
echo $arry_b[3];
echo "
";
echo $arry_b[4];
输出:
c
bb
cc
函数implode()
用于连接字符串,做的事情与explode()
正好相反。
$arry_a=['我','是','SBLZH'];
echo implode(',',$arry_a);
输出:
我,是,SBLZH
函数substr()
用于截取字符串的子串,语法是:
string substr(string $原串,int $开始处[,int $前向长度或后向下界]);
开始处为负值时表示从倒数第绝对值的位置开始截取,最后一个可选参数为正时表示向前截取多少个字符,为负数时表示截取到倒数第绝对值个字符。
$a = '0123456';
echo substr($a, 0, 3);
echo "
";
echo substr($a, -5, 3);
echo "
";
echo substr($a, -5, -2);
输出:
012
234
234
函数strstr()
返回从子串在母串中首次出现位置,将母串截断后的其一字符串。语法是:
string strstr(string $母串,string $子串[,bool 模式=false]);
$a = '0123456';
//默认为false,从首次出现位置到末尾
echo strstr($a,'3');
echo "
";
//为true时表示从开始处到首次出现位置
echo strstr($a,'3',true);
输出:
3456
012
函数substr_count
返回子串在母串中出现的次数。
$a = 'ababa';
$b='abacccaba';
echo substr_count($a,'aba');
echo "
";
echo substr_count($b,'aba');
输出:
1
2
还有一些不想去测试了,用到再查吧,PHP的函数名起的实在太多太混乱。