博客列表 >数组排序与字符串函数---4.19.0:50

数组排序与字符串函数---4.19.0:50

吴明的博客
吴明的博客原创
2018年04月19日 00:55:24786浏览

总结:这节课程主要学习的是一些常见函数的用法

在函数记忆的同时需要注意参数和函数的前后排列顺序:大致是(主体,参照函数),特殊的记住。


<?php

header("Content-Type: text/html; charset=utf-8");


// 1. 数组排序方法总结

// 2. 字符串长度计算

// 3. 字符串与数组之间的转换

// 4. 字符串的查找与替换

echo '<h3>array</h3>';

//数组排序

/*

正序:

1.sort(&$arr,$flag)按值升值排列,键名重置

2.asort(&$arr,$flag)按值升值排列,键名保留

3.ksort(&$arr,$flag)按值升值排列,适合于关联数组,键值对应关系不变

反序:

 1. rsort(&$arr, $flag):对数组逆向排序

 2. arsort(&$arr, $flag):对数组进行逆向排序并保持索引关系

3. krsort(&$arr, $flag):对数组按照键名逆向排序

自定义回调函数进行排序:

usort(&$arr,function($a,$b){#code})

*/

$arr = ['id'=>5,'name'=>'wuming','course'=>'php','grade'=>60];

 asort($arr);

//var_dump($arr);

$arr1 = [10, 4, 22, 99, 35, 18];

usort($arr1, function($a, $b) {

$res = $a - $b; 

if ($res == 0) {

return 0;

} else if ($res > 0) {

return true;

} else {

return false;

}

});

print_r($arr1);

echo'<hr/>';

echo '<p>string length</p>';

//1.strlen($str)

//2.mb_strlen($arr,$encoding)

$siteName = 'php中文网';

$encoding = mb_internal_encoding();

echo '内部字符编码集: ',$encoding,'<br>';


echo '<p>字符串函数(二):比较运算</p><hr color="green">';

/**

 * 1.strcmp($str1, $str2):二进制安全字符串比较

 * 2.strncmp($str1, $str2, $length):比较开头指定长度的是否相待

 * 3.strcasecmp($str1, $str2):二进制安全字符串比较,不区分大小写

 * 4.strncasecmp($str1, $str2):二进制安全字符串比较,不区分大小写

 * 5.strspn($str,$mark,$start,$length):获取匹配遮罩的起始子字符串的长度

 * 6.strcspn($str,$mark,$start,$length):获取不匹配遮罩的起始子字符串的长度

 */

$str1 = 'php中文网';

$str2 = 'PHP中文网';

//1.strcmp($str1, $str2):字符串比较,相等返回0,大于返回>0,否则返回<0

echo strcmp($str1, $str2) == 0 ? '相等' : '不相等', '<br>'; 

echo '<p>字符串函数(三):字符串与数组之间的转换</p><hr color="green">';

/**

 * 1.str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1

 * 2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量

 * 3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔

 */

$str = 'html,css,jquery,php,mysql,thinkphp';

print_r(str_split($str,5));

print_r(explode(',',$str));


echo '<p>字符串函数(四):html与字符串之间的转换</p><hr color="green">';

 /*

 addslashes($str):为了数据库查询语句在某些字符前加上反斜线转义

 stripslashes($str):功能与addslashes()相反,去掉字符串中的转义反斜线字符

 htmlspecialchars($str,FLAG):将特殊字符转换为 HTML 实体

  &->&amp;"=>&quot;'->&apos/&#039; < &lt; > &gt;

  strip_tags($str,$allow)从字符串中去除HTML和PHP标记

  */

$str = <<< 'NOWDOC'

<h4>PHP课程介绍</h4>

<ol>

<li>'PHP'基本语法&案例</li>

<li>"PHP"的数据库操作</li>

<li>\PHP面向对象编程</li>

</ol>

NOWDOC;

echo $str;


//strip_tags($str,$allow)从字符串中去除HTML和PHP标记

//$str5 = strip_tags($str); //输出的是去掉所有标签的纯文本

// $str = strip_tags($str,'<h4>'); //保留<h4>标签,其它的删除

// echo $str;  

echo '<p>字符串函数(五):删除或填充指定内容</p><hr color="green">'; 

/**

 * 1.ltrim($str,$mask):从左边删除空格或指定字符

 * 2.rtrim($str,$mask):从右边删除空格或指定字符

 * 3.trim($str,$mask):从左右边删除空格或指定字符

 * 4.str_pad($str,$length,$mark,CONST):使用特定字符将字符串填充到指定长度

 * 可使用三个常量指定方向: STR_PAD_LEFT/STR_PAD_RIGHT/STR_PAD_BOTH,默认用空格

 * 5.chunk_split($str, $length,[$end]):将字符串按大小切成小块,可指定分割符

 */

//4.str_pad($str,$length,$mark,CONST):使用特定字符将字符串填充到指定长度

$str1 = 'www.php.cn';

echo strlen($str1),'<br>';

echo str_pad($str1, 20, '*', STR_PAD_RIGHT),'<br>'; //默认向右填充


echo '<p>字符串函数(六):查找与替换</p><hr color="green">';


/**

 * 1.strpos($str1,$str2, $offset)查找$str2在$str1中首次出现的位置

 * 2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false

 * 如果确定$str2是$str1的子串,推荐使用strpos(),速度更快

 * 3.str_replace($str1, $str2, $str3, $num):子串替换,$num是替换次数

 * 4.substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串

 */

$str = 'www.php.cn';

//1.strpos($str,$needle, $offset)查找字符串首次出现的位置

echo strpos($str, 'p'),'<br>'; //默认从头开始查找

echo strpos($str, 'p', 5),'<br>'; //从索引5开始查找


//2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false

echo strstr($str, 'php'),'<br>';  //返回子串及后面部分

echo strstr($str, 'php', true),'<br>'; //参数true,会返回子串前面部分


echo '<hr>';

//3.str_replace($str1, $str2, $str3, $num):子串替换,

echo str_replace('www','http://www',$str), '<br>';


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议