php中格式化输出函数vprintf printf sprintf sscanf

 更新时间:2016年11月25日 16:49  点击:1495

数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:

%% - 返回百分比符号
%b - 二进制数
%c - 依照 ascii 值的字符
%d - 带符号十进制数
%e - 可续计数法(比如 1.5e+3)
%u - 无符号十进制数
%f - 浮点数(local settings aware)
%f - 浮点数(not local settings aware)
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%x - 十六进制数(大写字母)

看实例
*/
$str="hello";           //定义字符串
$number=123;           //定义数值
vprintf("%s world. day number %u",array($str,$number));   //输出格式化的字符串

//实例二
$num1=123;           //定义数值1
$num2=456;           //定义数值2
$txt=vsprintf("%f%f",array($num1,$num2));     //输出格式化字符串到变量
echo $txt; 

/*

printf() 函数输出格式化的字符串。

语法
printf(format,arg1,arg2,arg++)
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。

*/
$str="hello world";          //定义首尾有空格的字符串
printf($str);           //输出转换后的结果

/*

sprintf() 函数把格式化的字符串写写入一个变量中。

语法
sprintf(format,arg1,arg2,arg++)

*/
$str="hello";          //定义字符串
$number=123;          //定义数值
$txt= ("%s world. day number %u",$str,$number);  //返回格式化字符串到变量
echo $txt;           //输出结果hello world. day number 123


$str="123456abcdedfbcdef";         //定义字符串
sscanf($str, "%[^a-z]", $result);         //取其中的非大写字母
printf("result=%s", $result);         //输出结果

/*以下代码最终显示11,并将"hello world"字符串写入到test.txt文件*/
$str="hello";          //定义字符串
$file=fopen("test.txt","w");        //打开文件
echo vfprintf($file,"%s world",$str);      //输出数据到流并显示结果11

echo getcwd()."n";         //取得当前工作目录
echo "<br>";
chdir('08');          //改变工作目录
echo getcwd() . "n";         //再次取得当前工作目录

getcwd() 函数返回当前目录。

若成功,则返回当前工作目录,否则返回 false。

语法
getcwd()

//

echo getcwd() . "n";         //取得当前工作目录
chdir('web');          //改变工作目录
echo getcwd() . "n";         //再次取得工作目录

chdir() 函数把当前的目录改变为指定的目录。

若成功,则该函数返回 true,否则返回 false。

语法
chdir(directory)

strpos() 函数返回字符串在另一个字符串中第一次出现的位置。

如果没有找到该字符串,则返回 false。

语法
strpos(string,find,start)
*/

$str="hello world";          //定义字符串1
$result=strpos($str,"ll");         //执行查找最早出现的位置
echo $result;           //输出结果,2

/*

strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。

如果成失败,否则返回 false。

语法
strrchr(string,char)

*/

$str="hello world";          //定义字符串1
$result=strrchr($str,"o");         //执行查找最末出现的位置
echo $result; 

/*
strpbrk() 函数在字符串中搜索指定字符中的任意一个。

该函数返回指定字符第一次出现的位置开始的剩余部分。如果没有找到,则返回 false。

语法
strpbrk(string,charlist)
*/

$str="hello world";          //定义字符串1
$result=strpbrk($str,"oe");         //执行查找操作
echo $result;           //输出结果,ello world


/*
提示和注释
注释:该函数对大小写敏感。

*/

substr_compare() 函数从指定的开始长度比较两个字符串。

该函数返回:

0 - 如果两字符串相等
<0 - 如果 string1 (从开始位置)小于 string2
>0 - 如果 string1 (从开始位置)大于 string2
语法
substr_compare(string1,string2,startpos,length,case)

*/
$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=substr_compare($str1,$str2,1,10);      //执行比较操作
echo $result;           //输出结果,1
/*
strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串。

在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的第一个数字。


*/

$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strnatcasecmp($str1,$str2);       //执行比较操作
echo $result;           //输出结果,0

/*
strncasecmp() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
语法
strncasecmp(string1,string2,length)
*/
$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strncasemp($str1,$str2,7);       //执行比较操作
echo $result;           //输出结果,0

/*
strncmp() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
语法
strncmp(string1,string2,length)
*/

$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strncmp($str1,$str2,7);        //执行比较操作
echo $result;           //输出结果,1

/*
strcoll() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
字符串的比较会根据本地设置而变化。(a<a 或 a>a)。

语法
strcoll(string1,string2)
*/

$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strcoll($str1,$str2);        //执行比较操作
echo $result;           //输出结果,1

*/
$hash_list=hash_algos();        //返回注册的hash规则列表
print_r($hash_list);         //显示结果

/*创建文件以计算哈希值*/
file_put_contents('example.txt', 'the quick brown fox jumped over the lazy dog.');
/*输出哈希值信息*/
echo hash_file('md5', 'example.txt');

$str="the quick brown fox jumped over the lazy dog.";      //定义字符串
echo hash('ripemd160',$str);           //生成哈希值

$ctx=hash_init('md5');          //初始化一个hash值
hash_update($ctx,'the quick brown fox');       //向哈希值灌注数据
hash_update($ctx,'jumped over the lazy dog.');      //向哈希值灌注数据
echo hash_final($ctx);          //输出最后的结果

$str="the quick brown fox jumped over the lazy dog.";    //定义字符串
$fp=tmpfile();            //创建一个临时文件
fwrite($fp,$str);            //将字符串写入到临时文件
rewind($fp);            //倒回文件指针的位置
$ctx=hash_init('md5');          //初始化一个hash值
hash_update_stream($ctx,$fp);         //向数据流中灌注数据
echo hash_final($ctx);          //输出结果


$str="the quick brown fox jumped over the lazy dog.";    //定义字符串
echo hash_hmac('ripemd160',$str,'secret');      //生成包含密钥的hash值

/*创建一个文件并将字符串写入其中*/
$file="example.txt";          //定义文件名
$str=" the quick brown fox jumped over the lazy dog.";   //定义字符串
file_put_contents($file,$str);        //向文件中写入字符串
echo hash_hmac_file('md5',$file,'secret');      //生成一个包含密钥的hash值

$ctx=hash_init('sha1');          //定义字符串
hash_update($ctx,'the quick brown fox jumped over the lazy dog.');  //向哈希值中灌注数据
echo hash_final($ctx);          //输出结果

[!--infotagslink--]

相关文章