个人PHP学习笔记(六)--字符串

目录

  • 基本语法
  • 语句结构
  • 函数
  • 数组
  • 面向对象的程序设计
  • 字符串
  • 正则表达式
  • 常用函数
  • 文件系统
  • 图形图像处理
  • MySQL数据库
  • Cookie&Session
  • 错误和异常

字符串


常用的字符串输出函数

函数名描述
echo()输出字符串
print()输出一个或者多个字符串
die()输出字符串并退出当前脚本
printf()输出格式化字符串
sprintf()把格式化的字符串写入一个变量中

echo()和print()

echo()
  • echo()用于输出一个或者多个字符串,他们是PHP中使用最多的输出函数。
  • 单纯的输出而不作其它操作,因此它的效率比其他的效率要高。
echo ($arg1,$...)
//函数名+接受的多个字符串参数

<?php
    $name='Marshall';
    $num=15;

    echo '$name<br/>';
    echo "$num<br/>";
    echo $name.'<br/>';
    echo 'Hello
          P
          H
          P.<br/>';
    echo 'This','is','PHP.';
?>
  • 通常在使用echo()函数的时候,是不加括号的,加上也不会出错。
  • 在输出多个参数的时候是不可以加括号的,加上会出错。
print()
  • print()函数与echo()函数的功能是相同的,不同的是print()函数是由返回值的,它总会返回1。
  • 可以把print()函数作为分支结构的判断语句。
print($arg)
//函数名+接受一个字符串类型的参数
  • print()函数在使用时也可以不加括号,并且它不可以输出多个参数。
<?php
    $name='Marshall';
    $num=15;

    print("$name<br/>");
    print('Hello PHP.<br/>');
    print 'Hello PHP.<br/>';
    var_dump(print('Hello PHP.<br/>'));
?>

die()

  • die()函数接受一个可选的参数
die$status//函数名+接受一个可选参数
  • 如果参数为字符串,则会在退出时输出字符串。
  • 如果参数为一个整数,这个值会被用作退出程序的状态码,并且不会被打印。状态码应该在0~254范围,不应该使用被PHP保留的退出码255,状态码0用于成功中止成功。
<?php
    $a=0;
    isset($a)||die('$a未定义,程序退出。');
    echo '$a已经定义,程序继续执行。';
?>

printf()和sprintf()

  • 用于格式化字符串。
printf()
  • 根据第一个参数规定的格式输出字符串。
printf($format,$args,...)
//关键字+字符串及如何格式化其中的变量+接受多个参数

%'[padding_character][-][width][.precision]type
//格式化表示如下
  • 所有转换说明都以%开始,如果想输出一个%符号,必须用%%。
  • 参数’padding_character‘是可选的,它将被用来填充变量直至所指定的的宽度,默认填充的字符是一个空格,如果指定0或者空格就不需要单引号作为前缀,其他字符必须指定单引号为前缀。
  • 类是一个抽象的东西,通常不可以拿来直接使用,类实例化的对象才是我们使用的。
  • 参数“-”是可选的,它指左对齐,默认是右对齐。
  • 参数width是指被替换的变量的长度。
  • 参数precision表示以小数点开始,它指明小数数点后要显示的位数。
  • 参数type是类型码。
类型含义
B解释为整数并作为二进制输出
C解释为整数并作为字符表示输出(ASCII码)
D解释为整数并作为整数输出
F解释为双精度并作为浮点数输出
o解释为证书并作为八进制输出
s解释为字符串并作为字符串输出
u解释为整数并作为非指定小数输出
x解释为整数并作为带有小写字母a~f的十六进制数输出
X解释为整数并作为带有大写字母的A~F十六进制数输出
<?php
    printf('输出一组使用0填充空位的数字%06s,再输出一组使用f填充空位的数字%\'f3s',3,6);
?>
//第一个参数替换第一个%,第二个参数替换第二个%

<?php
    printf('长度为5的数字5:%1$05d。<br/>
            长度为6,小数位为3位的小数5:%1$6.3f。<br/>
            15.95的整数表示方法:%2$d。<br/>',5,15.95);
?>
//1$,2$表示占位符,分别被第一二个参数替换
  • 再以整数形式输出一个浮点数时,小数部分会被舍去,而不是四舍五入。
sprintf()
  • 用法与printf()函数类似。区别就是sprintf()不会输出格式化后的字符串,而是会把结果返回给一个变量。格式化的字符可以在以后需要的时候使用。
<?php
    $str=sprintf('输出长度为6,小数位为3位的小数15.95:%6.3f',15.95);
    echo $str;
?>

常用的字符串格式化函数

函数描述
ltrim()从字符串左侧删除预定义字符
rtrim()从字符串右侧删除预定义字符
trim()从字符串两侧删除预定义字符
str_pad()把字符串填充到新的长度
strtolower()把字符串转换为小写字母
strtoupper()把字符串装换为大写字母
ucfirst()把字符串的首字符转换为大写
ucwords()把字符串中每个单词的首字符转换为大写
nl2br()把字符串中的换行符转换为HTML的换行符
htmlentitles()把字符串转换为HTML实体
htmlspecialchars()把一些预定义的字符转换为HTML实体
stripslashes()删除由addcslashes()添加的反斜杠
strip_tags()删除HTML,XML,PHP的标签
number_format()通过千位分组来格式化数字
strrev()反转字符串
md5()将一个字符串进行MD5计算

删除和填补字符函数

ltrim(), rtrim(),trim()
  • 空格也是字符,会占据一个位置。
  • ltrim()用于删除字符串开始位置。
  • rtrim()用于删除字符串结束位置。
  • trim()用于从字符串两则开始删除。
参数描述
” “普通空格符
“\t”制表符
“\n”换行符
“\r”回车符
“\0”空字节符
“\x0B”垂直制表符
ltrim($str,$charlist)
//关键字+要处理的字符串+希望过滤的字符,可以使用'..'列出一个字符范围

<?php
    $str='123 This is PHP!!!';

    var_dump($str);
    echo '<br/>';
    var_dump($str,123);
    echo '<br/>';
    var_dump($str,'!');
    echo '<br/>';
    var_dump($str,'0..9!');
    echo '<br/><br/>';

    echo $str.'<br/><br/>';
    echo ltrim($str,123);
    echo '<br/>';
    echo ltrim($str,'!');
    echo '<br/>';
    echo ltrim($str,'0..9!');
    echo '<br/>';
?>
str_pad()
str_pad($input,$pad_length,$pad_string="",$pad_type=STR_PAD_RIGHT)
//函数名+接受要处理的字符串+处理后的字符串的长度+可选参数(要填充的字符默认为空格+填充位置默认为右侧)
  • 如果pad_length的值是负数,小于或者等于输入的字符串长度,不会发生任何填充。
  • 如果填充字符的长度不能被pad_string整除,那么pad_string可能会被缩短。
  • 可选的参数pad_type参数可以是:STR_PAD_RIGHT,STR_PAD_LEFT,STR_PAD_BOTH。
<?php
    $str='123 This is PHP!';
    var_dump($str);
    echo '<br/>';

    $str_new=str_pad($str,36,'<>',STR_PAD_BOTH);
    var_dump($str_new);
    echo '<br/>';
    echo $str_new;
?>

转换大小写函数

  • PHP提供了4个转换大小写的处理函数,均只有一个必须的参数,传入要处理的字符串,均返回一个新的字符串。
<?php
    $str='This is PHP!';
    echo strtolower($str).'<br/><br/>';    
    echo strtoupper($str).'<br/><br/>';
    echo ucfirst($str).'<br/><br/>';
    echo ucwords($str).'<br/><br/>';
?>

HTML相关字符串格式化函数

nl2br()
nl2br($string,$is_xhtml=true)
//函数名+要处理的字符串+可选参数(是否兼容XHTML换行符,默认为TRUE)

<?php
    echo "Hello\nPHP";
    echo '<br/>';
    echo nl2br("Hello\nPHP");
?>
  • 使用单引号函数不会识别字符串中的“\n”。
htmlspecialchars()
  • 把不希望被浏览器解析的HTML代码中的标记转换为字符实体。

htmlspecialchars($string,$quotestyle,$character-set,$double_encode)
//函数名+要处理的字符串+可选参数(函数处理方式,默认为ENT_COMPA|TENT_HTML401
//                           +规定要使用的字符集,默认为UTF-8
//                           +是否转换PHP实体,默认为TRUE)
  • 在htmlspecialchars()中,$quotestyle常用的可选值如下
    ENT_COMPAT:默认,仅编码双引号。
    ENT_QUOTES:编码双引号和单引号。
    ENT_NOQUOTES:不编码任何引号。
<?php
    echo '<html><title>这是网页标题</title>
                <body>这里是网页显示的内容</body>
          </html>';

    echo htmlspecialchars('<html><title>这是网页标题</title>
                                 <body>这里是网页显示的内容</body>
                           </html>');
?>
htmlentities()
  • 把所有支持的代码全部转换为HTML实体,无法识别的字符集将被忽略。语法与htmlspecialchars相同。
<?php
    echo htmlspecialchars('<html><title>这是网页标题</title>
                                 <body>这里是网页显示的内容</body>
                           </html>',ENT_NOQUOTES,'utf-8');
//中文会出现乱码,必须规定使用的字符集
?>
strip_tags()
  • 使用strip_tags()来去除HTML和PHP标记。
strip_tags($str,$allowable_tags)
//函数名+接受要处理的字符串+可选参数(指定不能被去除的字符列表)

<?php
    echo strip_tags('<html><title>这是网页标题</title>
                           <body>这里是网页显示的内容</body>
                     </html>
                    <?php
                        echo "这里会显示吗?";
                    ?>
                    这里不再被删除。');
?>
<?php
    echo strip_tags('<html><title>这是网页标题</title>
                           <body>这里是网页显示的内容</body>
                     </html>','<title>');
//控制<title>不会被删除
?>

其他字符串格式化函数

strrev()
<?php
    echo strrev('This is PHP!');
    echo '<br/>';
    echo strrev('我们都爱PHP。');
?>
  • 中文转换会出现乱码,不可以使用。
number_format()
  • 通过千位分组来格式化字符串。
number_format(number,decimals,decimalpoint,sepatator)
//函数名+要格式化的数字+可选参数(规定多少个小数+规定要用作小数点的字符串+规定用作千分符的字符串)

//设置第一个参数,未设置其他参数,则数字会被格式化为不带小数点以逗号为分隔符。
//如果设置了第二个参数,则使用点号作为小数点格式化数字。

<?php
    echo number_format('10000000000').'<br/><br/>'; 
    echo number_format('10000000000',2).'<br/><br/>';   
    echo number_format('10000000000',4,',','|').'<br/><br/>';   
?>
MD5()和sha1()
  • MD5():默认返回32位的十六进制字符串。
  • sha1():默认返回40位的十六进制字符串。
md5($str,$raw_output)
//函数名+要处理字符串+可选参数(控制返回格式,默认为FALSE)
//如果$raw_output被设置为TRUE,那么将返回16位二进制格式

<?php
    $str='This is PHP!';
    echo 'MD5:'.MD5($str);
    echo '<br/><br/>';
    echo 'sha1:'.sha1($str);
?>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值