字符串Path
-
dirname():返回路径中的目录部分。
//> 返回去掉文件名后的目录名 string dirname(string $path)
- path:路径(在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/))
- 返回值:字符串;返回path的父目录;
- 如果在 path 中没有斜线,则返回一个点('.'),表示当前目录;否则返回的是把 path 中结尾的 /component(最后一个斜线以及后面部分)去掉之后的字符串。
//> D:\WWW\php\index.php --> D:\WWW\php
$path = "D:\WWW\php\index.php";
echo dirname( $path );
//> 如果文件中没有斜线,则返回 . (点)
//> index.php --> .
echo dirname( 'index.php' );
//> 处理后的字符串中没有斜线,系统会自动保留一个
//> c:/www --> c:/
echo dirname( 'c:/www' );
//> /mut/usr/ --> /mut
echo dirname( '/mut/usr' );
总结:
1.dirname 处理一个路径字符串(path是一个路径,返回上级目录。
3.如果path中只有一个斜线,经过dirname后,该斜线被保留。
- str_replace():字符串替换。
mixed str_replace(mixed $search, mixed $replace, mixed $subject [,int &$count])
- 该函数返回一个字符串或数组。(该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。 )
$bodytag = str_replace ( "%body%" , "black" , "<body text='%body%'>" , $count);
//> "<body text='%body%'>" --> "<body text='black'>"
var_dump( $bodytag );
//> 替换次数 $count => 1
echo $count;
$re = ['as','a','q','d'];
//> 'asqdfeqasdfa' --> ---fe---f-
echo str_replace( $re, '-', 'asqdfeqasdfa', $aount );
//> 替换次数 7
echo $aount;
$re = ['as','a','q','d'];
$se = [' $1 ',' $2 ',' $3 ',' $4 '];
//> 'asqdfeqasdfa' --> '1 $1 $3 $4 fe $3 $1 $4 f $2 7'
echo str_replace( $re, $se, 'asqdfeqasdfa', $aount );
//> 替换次数 7
echo $aount;
//> 替换从左到右依次 A -> B -> C -> D -> E -> F
$search = array( 'A' , 'B' , 'C' , 'D' , 'E' );
$replace = array( 'B' , 'C' , 'D' , 'E' , 'F' );
$subject = 'A' ;
//> '' --> 'F'
echo str_replace ( $search , $replace , $subject );
IP相关转换函数
- ip2long():IPV4转换为int类型。(该函数转换的一般是无符号数)
//> ip2long 函数的定义
int ip2long(string $ip_address)
<?php
//> 如果IPV4地址格式不正确,返回 false
var_dump( ip2long('') ); //> false
//> 255.255.255.255 转换为 -1
echo ip2long( '255.255.255.255' ); //> -
//> 192.168.1.1 转换为 -1062731519
echo ip2long( '192.168.1.1' );
//> 如果我们想得到无符号数 使用sprintf函数
$ipAddress = sprintf('%u', ip2long('192.168.1.1')); //> %u表示无符号
echo long2ip( $ipAddress ); //> long2ip 把$ipAddress转换为IPV4的格式
?>
- sprintf():函数,格式转换函数。
//> $format 需要格式的字符串;
//> 可选格式变量,和python中的print使用基本相同。
string sprintf(string $format [,mixed $args [, mixed $...]])
- long2ip():是ip2long函数的反向操作。
string long2ip(string $proper_address)
* 0 会被解析成 0.0.0.0
* false 也会被解析成 0.0.0.0
* -1 被解析成 255.255.255.255
字符串输出函数
- print:输出一个字符串。(语言结构)
>> int print( string $arg )
- 返回值:永远是 1
<?php
print("hello"); //> hello
//> 语言结构书写方法
print "world"; //> world
?>
- echo:输出一个或多个字符串。(语言结构)
>> void echo( string $arg [, string $...] )
<?php
echo "hello", 'world', '<br>';
?>
- 在PHP5.4.0之后,echo支持如下写法。
<?="hello"?> //> echo "hello";
- 在PHP5.4.0之前,需要在php.ini中启用 short_open_tag
总结:
* print 和 echo 都是输出字符串,都是php的语言结构。
* print 输出的是一个字符串;
* echo 输出的是一个或多个字符串;
字符串格式化函数
- printf():输出格式化字符串,并返回字符串的长度。
>> int printf(string $format [,mixed $args [, mixed $....]])
<?php
//> Php_Python,520
$len = printf('%s,%d',"Php_Python", 520);
//> 14
echo "<br>",$len;
?>
- sprintf():返回格式化的字符串。(用法基本和 printf 一致)
//> 该函数不会像printf一样,格式化后直接打印出来
//> 而是直接把格式化的字符串返回。
>> string sprintf(string $format [,mixed $args [,mixd $...]])
$len = sprintf('%s,%d',"Php_Python", 520);
echo "<br>",$len; //> Php_Python,520
总结:
* printf() 和 sprintf() 都是格式化字符串函数,用法基本相同。
* printf() 函数在格式化字符串后,直接输出,并返回格式化后的字符串长度。
* sprintf() 函数直接返回格式化后的字符串。(不会再页面打印)
数组相关的打印函数
- print_r():打印关于变量的易于理解的信息。
bool print_r(mixed $expression [, bool $return])
- 该函数只能打印一个变量。
- print_r()会将数组的指针移动到最后边。(可以使用reset()函数让指正回到开始位置)
- $return参数:为True时,print_r()将不打印结果,而是返回其输出。
$arr = ['p'=>'PHP','py'=>'python','c'=>'C'];
$k = print_r($arr, True);
//> 可见设置第二个参数,print_r就不会打印,直接以字符串的形式返回
var_dump( $k );
输出结果:
'Array( [p] => PHP [py] => python [c] => C)'
(length=57)
- var_dump():打印一个或多个变量
>> void var_dump( mixed $expression [, mixed $...] )
- var_export():返回或输出可执行的PHP代码。(字符串形式)
网友评论