php函数 字符串类型

2018-10-29  本文已影响14人  爱折腾的傻小子
字符串Path
//> 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),返回一个字符串。 2.如果path是一个路径,返回上级目录。
3.如果path中没有斜线,则返回 **.** 。 4.如果path中只有一个斜线,经过dirname后,该斜线被保留。

mixed str_replace(mixed $search, mixed $replace, mixed $subject [,int &$count])
$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 函数的定义
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的格式
?>
//> $format 需要格式的字符串;
//> 可选格式变量,和python中的print使用基本相同。
string sprintf(string $format [,mixed $args [, mixed $...]])
string long2ip(string $proper_address)
* 0 会被解析成 0.0.0.0
* false 也会被解析成 0.0.0.0
* -1 被解析成 255.255.255.255

字符串输出函数
>>  int print( string $arg )
<?php
      print("hello"); //> hello
      //> 语言结构书写方法
      print "world"; //> world
?>
>>  void echo( string $arg [, string $...] )
<?php
    echo "hello", 'world', '<br>';
?>

总结
* print 和 echo 都是输出字符串,都是php的语言结构。
* print 输出的是一个字符串;
* echo 输出的是一个或多个字符串;


字符串格式化函数
>>  int printf(string $format [,mixed $args [, mixed $....]])
<?php
    //> Php_Python,520
    $len = printf('%s,%d',"Php_Python", 520);
    //> 14
    echo "<br>",$len;
?>
//> 该函数不会像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() 函数直接返回格式化后的字符串。(不会再页面打印)


数组相关的打印函数
bool print_r(mixed $expression [, bool $return])
$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)
>>  void var_dump( mixed $expression [, mixed $...] )
上一篇 下一篇

猜你喜欢

热点阅读