Blogger Information
Blog 31
fans 0
comment 2
visits 27461
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
4月18日作业—数组排序、字符串经典函数应用
钱光照的博客
Original
661 people have browsed it
  1. 数组排序方法总结

    ①按照升序对数组中的元素排序,使用sort()函数,如果对关联数组排序,会丢失键值,变成索引数组;

    ②按照降序对数组中的元素排序,使用rsort()函数,如果对关联数组排序,会丢失键值,变成索引数组;

    ③根据值,以升序对关联数组进行排序,使用asort()函数,保留键值。

    ④根据键,以升序对关联数组进行排序,使用ksort()函数,保留键值。

    ⑤根据值,以降序对关联数组进行排序,使用arsort()函数,保留键值。

    ⑥根据键,以降序对关联数组进行排序,使用krsort()函数,保留键值。

方法应用:

实例

<?PHP 

$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '<h2>数组排序总结:</h2>'.'<hr color="green">';
echo '<pre>'.'原始数据:';
print_r($arr);
//使用sort()函数
echo '<hr color="red">';
echo '1.按照升序对数组中的元素排序,使用sort()函数:'.'<br>';
sort($arr);
print_r($arr);
//使用rsort()函数
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '2.按照降序对数组中的元素排序,使用rsort()函数:'.'<br>';
rsort($arr);
print_r($arr);
//使用asort()
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '3.根据值,以升序对关联数组进行排序,使用asort()函数:'.'<br>';
asort($arr);
print_r($arr);
//使用ksort()
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '4.根据键,以升序对关联数组进行排序,使用ksort()函数:'.'<br>';
ksort($arr);
print_r($arr);
//使用arsort()
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '5.根据值,以降序对关联数组进行排序,使用arsort()函数:'.'<br>';
arsort($arr);
print_r($arr);
//使用krsort()
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '6.根据键,以降序对关联数组进行排序,使用krsort()函数:'.'<br>';
krsort($arr);
print_r($arr);

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果如下:

1.png

2.png


关于字符串经典函数应用:

1. 字符串长度计算

       strlen($str):计算字符串的长度;

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

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

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

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


3. 字符串的查找与替换

      strpos($str1,$str2, $offset):查找$str1在$str1中首次出现的位置;

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

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

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

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

下面用实例来说明:

实例

<?PHP 

$cars='上汽荣威,比亚迪,奇瑞,凯迪拉克,兰博基尼,法拉利,劳斯莱斯';

echo "<h2>字符串的长度以及与数组之间的转换:</h2>".'<hr color="green">';
echo "原始数据:",$cars.'<hr color="red">';

//计算字符串长度
echo '字符串的长度是:'.strlen($cars).'<hr>';

//字符串与数组之间的转换
//1.str_split($str,$length=1)按字符数量,将字符串分割为数组,默认为1
echo '<pre>'.'使用str_split函数后:<br>';
$cars1=str_split($cars,2);
print_r($cars1); //默认一个字符转为数组中的一个元素,一个汉字2个字符一个元素

//2.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
echo '<hr>使用implode函数后:<br>';
echo implode('',$cars1).'<hr>';

//3.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
echo '使用explode函数后:<br>';
print_r(explode(',',$cars,7)); 
//

//字符串的查找与替换
echo '<hr color="red">';

$cars='上汽荣威,比亚迪,奇瑞,凯迪拉克,兰博基尼,法拉利,劳斯莱斯';
echo "<h2>字符串查找与替换:</h2>".'<hr color="green">';
echo "原始数据:",$cars.'<hr color="red">';

//1.strpos($str,$needle, $offset)查找字符串首次出现的位置
echo "凯迪拉克的位置是:".strpos($cars, '凯迪拉克'),'<br>';//默认从头开始查找

//2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false
echo strstr($cars, '法拉利')?'找到':'没找到!','法拉利!'.'<br>';  //返回子串及后面部分
echo '法拉利前面的车有:'.strstr($cars, ',法拉利', true),'<br>'; //参数true,会返回子串前面部分
//
echo '<hr>';
//3.str_replace($str1, $str2, $str3, $num):子串替换,
echo '下面将奇瑞换成宝马:<br>';
echo str_replace('奇瑞','宝马',$cars), '<br>';
//
echo '<hr>';
//4.substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串
//在$str中,从第5个索引位置起的2个字符,用'pppph'进行替换
//echo substr_replace($str,'pppph', 5, 2); 

echo '在上汽荣威后面加上别克威朗:<br>';
echo substr_replace($cars,'别克威朗,',10,0);

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果如下:

3.png

4.png

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post