博客列表 >字符串与数组的转换,数组的排序

字符串与数组的转换,数组的排序

Pengsir
Pengsir原创
2018年04月19日 18:06:01946浏览

字符串与数组的转换:

实例

<?php
header("content-type:text/html;charset=utf8");
echo '<h2>字符串与数组的转换</h2>';
$str='php,html,css,bootstrap,jquery';
//1.str_split()把字符串分割到数组中
echo '<pre>';
print_r(str_split($str));
echo '<hr color="red">';
/*
 * 2.explode()函数把字符串打散为数组
 * 第一个参数:是定界符,在哪里分割字符串
 * 第二个参数:要分割的字符串
 * 第三个参数:可选。规定所返回的数组元素的数目
 */
print_r(explode(',',$str));
print_r(explode(',',$str,3));
echo '<hr color="red">';
//3.implode()函数返回由数组元素组合成的字符串
echo implode('***',explode(',',$str,3));
echo '<hr color="red">';
//字符串的查找与替换
/*
 * 1.strpos(string,find,start)函数查找字符串在另一字符串中第一次出现的位置。
 * string:	必需。规定要搜索的字符串。
 * find:必需。规定要查找的字符串。
 * start:可选。规定在何处开始搜索。
 */
$str1='php.cn';
echo strpos($str1,'c');//output:4
echo '<hr color="red">';
/*
2.返回子串前面的部分
strstr(string,search,before_search)函数搜索字符串在另一字符串中的第一次出现
1.string:必需。规定被搜索的字符串
2.search:必需。规定所搜索的字符串。如果此参数是数字,则搜索匹配此数字对应的 ASCII 值的字符。
3.before_search:可选。默认值为 "false" 的布尔值。如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分
*/
echo strstr($str1,'n',true);//output:php.c 返回子串之前的部分
echo '<hr color="red">';
/*
 * substr_replace(string,replacement,start,length)函数把字符串的一部分替换为另一个字符串
 * string:必需。规定要检查的字符串
 * replacement:	必需。规定要插入的字符串
 * start:必需。规定在字符串的何处开始替换。正数 - 在字符串中的指定位置开始替换.负数 - 在从字符串结尾的指定位置开始替换
                0 - 在字符串中的第一个字符处开始替换
 * length:可选。规定要替换多少个字符。默认是与字符串长度相同
 *          正数 - 被替换的字符串长度
            负数 - 表示待替换的子字符串结尾处距离 string 末端的字符个数。
             0 - 插入而非替换
 */
echo substr_replace($str1,'www.',2,3);//output:phwww.n

运行实例 »

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

数组的排序:

实例

<?php
header("content-type:text/html;charset=utf8");
echo '<h2>数组的排序</h2>';
$arr=['id'=>1,'name'=>'lucy','sex'=>'女','country'=>'china','hobby'=>'shopping'];
echo '<pre>';
print_r($arr);//原数组
echo '<hr color="red">';
/*
 * sort(array,sortingtype) 函数对索引数组进行升序排序
 *注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。如果成功则返回 TRUE,否则返回 FALSE。
 * array:必需。规定要进行排序的数组。
 * sortingtype:可选。规定如何比较数组的元素/项目
 *   0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
 *   1 = SORT_NUMERIC - 把每一项作为数字来处理。
 *   2 = SORT_STRING - 把每一项作为字符串来处理。
 *   3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
 *   4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序
 *   5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
 */
sort($arr,SORT_REGULAR);//常规排序
print_r($arr);
echo '<hr color="red">';
sort($arr,SORT_NUMERIC);//把每一项作为数字来处理
print_r($arr);
sort($arr,SORT_STRING);//把每一项作为字符串来处理
print_r($arr);
echo '<hr color="red">';
//保留键名
$arr=['id'=>1,'name'=>'lucy','sex'=>'女','country'=>'china','hobby'=>'shopping'];
asort($arr);
print_r($arr);
//对键名排序
$arr=['id'=>1,6=>'666','name'=>'lucy','sex'=>'女','country'=>'china','hobby'=>'shopping',8=>'ok'];
ksort($arr);
print_r($arr);
/*反转排序 rsort() 函数对数组的元素按照键值进行逆向排序。与 arsort() 的功能基本相同。
 * rsort($arr,SORT_NUMERIC);函数对数值数组进行降序排序
 * arr:必需。规定要进行排序的数组
 *sortingtype:可选。规定如何比较数组的元素/项目
 *   0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
 *   1 = SORT_NUMERIC - 把每一项作为数字来处理。
 *   2 = SORT_STRING - 把每一项作为字符串来处理。
 *   3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
 *   4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序
 *   5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
 */
//反转排序
rsort($arr,SORT_STRING);
print_r($arr);
echo '<hr color="red">';
//自定义排序
$str2=[4,9,12,36,88,15,46,66];
print_r($str2);
usort($str2,function ($a,$b){
    $res=$a-$b;
    if($res ==0){
        return 0;
    }else if($res >0){
        return true;
    }else{
        return false;
    }
});
print_r($str2);

运行实例 »

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

效果图:

数组的排序.png

字符串与数组的转换.png

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