php函数 字符串类型

字符串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" , "" , $count);
//> "" --> ""
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)
 如果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
 hello
      //> 语言结构书写方法
      print "world"; //> world
?>
  • echo:输出一个或多个字符串。(语言结构)
>>  void echo( string $arg [, string $...] )
';
?>
  • 在PHP5.4.0之后,echo支持如下写法。
      //> echo "hello";
    
  • 在PHP5.4.0之前,需要在php.ini中启用 short_open_tag

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


字符串格式化函数
  • printf():输出格式化字符串,并返回字符串的长度。
>>  int printf(string $format [,mixed $args [, mixed $....]])
 Php_Python,520
    $len = printf('%s,%d',"Php_Python", 520);
    //> 14
    echo "
",$len; ?>
  • sprintf():返回格式化的字符串。(用法基本和 printf 一致)
//> 该函数不会像printf一样,格式化后直接打印出来
//> 而是直接把格式化的字符串返回。
>>  string sprintf(string $format [,mixed $args [,mixd $...]])
$len = sprintf('%s,%d',"Php_Python", 520);
echo "
",$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代码。(字符串形式)

你可能感兴趣的:(php函数 字符串类型)