博客列表 >数组与字符串方法及转换 2018.4.19 14:29

数组与字符串方法及转换 2018.4.19 14:29

弗洛加特的博客
弗洛加特的博客原创
2018年04月19日 14:29:56705浏览

实例

echo '<p>字符串函数(三):字符串与数组之间的转换</p>';
//1str_split($str,$length)  length:将字符串分割的长度,即以几个为一组
//2explode($delimiter,$str,$num)
//3implode($glue,$str)
$str = 'html,css,jquery,php';
//str_split($str) ,将每一个字符作为一个元素进行分割
echo '<pre>';
//print_r(str_split($str)) ;
//print_r(str_split($str,5)) ;

//2explode($delimiter,$str,$num)
//print_r(explode(',',$str));
//print_r(explode(',',$str,3));

//3implode($glue,$str) //安分隔符,将一维数组拼装成字符串

$arr2 = explode(',',$str);
print_r($arr2);
//echo implode(',',$arr2);
//echo implode('*',$arr2);
echo implode('医院*',$arr2);
echo '<br>';
echo implode(' ',$arr2);

运行实例 »

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

实例

echo '<p>字符串函数(二):字符串比较运算</p>';
//1.strcmp($str1,$str2);
//2,strncmp($str1,$str2,$length);
//3/strcasecmp($str1,$str2);
//4strspn()
//5strcspn()

$str1 ='php中文网';
$str2='PHP中文网';
//1.strcmp()两个字符串如相等返回0,大于 >0,否则<0,区分大小写
echo strcmp($str1,$str2)==0 ? '相等' : '不相等'.'<br>';
//2.strncmp()比较开头部分指定长度是否相等
echo strncmp($str1,$str2,3) == 0 ? '相等' : '不相等'.'<br>';
//3.strcasecmp()//不区分大小写
echo strcasecmp($str1,$str2) == 0 ? '相等'.'<br>' : '不相等'.'<br>';
//4.strncasecmp()//不区分大小写
echo strncasecmp($str1,$str2,3) == 0 ? '相等'.'<br>' : '不相等'.'<br>';
//5.strspn($str, $mark, $start, $length)
//计算字符串中全部字符都存在于指定字符集合的第一段子串的长度
echo strspn('12389406743 345','0123456789'),'<br>';
//可以指定 开始比较的位置与长度
echo strspn('12389406743 345','0123456789',4,4),'<br>';
echo strspn('123php34 345','0123456789'),'<br>';
//手机号匹配
$phone = '12389347430';
$mark = '0123456789';
echo strspn($phone,$mark) == strlen($phone) ? '全数字' : '手机必须是数字';

运行实例 »

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

实例

echo '<p>字符串函数(一):长度计算</p>';

运行实例 »

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

//strlen($str): //获取字节表示的字符串长度
//mb_strlen($str,encoding); 获取字符数表示的长度

$siteName ='php中文网';
//获取系统的字符集编码
$encoding = mb_internal_encoding();
echo '内部的字符编码集:',$encoding,'<br>';
echo strlen($siteName);
echo  '<hr>';
echo mb_strlen($siteName);
echo mb_strlen($siteName,$encoding);
echo mb_strlen($siteName,'UTF-8');

运行实例 »

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

实例

<?php

//正序排序,把原始数组进行改写
//sort(),忽略键名,键名进行重置,变为0,1,2...只根据值进行排序
//asort(),不会忽略键名,根据值进行排序
//ksort()根据键名进行排序


//sort();//正序键名重置,按照数据类型进行分组,在每一组当中按照自然顺序小到大排序
//asort();//正序键名保留,

//反序排序
//rsort(),arsort(),krsort()


$arr = ['id'=>3,'name'=>'zhu','course'=>'php','grade'=>60,5=>true];
echo '<pre>';
print_r($arr);
//1.sort()
sort($arr);
//sort($arr,SORT_NUMERIC); //字符串当做数字的话,都为0,布尔值的true为1,false为0
//sort($arr,SORT_STRING);//ASCII, 数字要比字符串小
print_r($arr);
echo '<hr color="red">';
//2.asort(),键名保留
$arr = ['id'=>3,'name'=>'zhu','course'=>'php','grade'=>60,5=>true];
asort($arr);
//asort($arr,SORT_NUMERIC);
//asort($arr,SORT_STRING);
print_r($arr);
echo '<hr color="yellow">';
//3.ksort() 按照键名来排序
$arr = ['id'=>3,'name'=>'zhu','course'=>'php','grade'=>60,5=>true];
//ksort($arr);
//ksort($arr,SORT_NUMERIC);
//ksort($arr,SORT_STRING);
//print_r($arr);


//反转
//4.rsort() 倒序排列
echo '<hr color="green">';
$arr1 = ['id'=>3,'name'=>'zhu','course'=>'php','grade'=>60,5=>true];
//rsort($arr1);
//rsort($arr1,SORT_NUMERIC);
//rsort($arr1,SORT_STRING);
//print_r($arr1);
//5.arsort()
//arsort($arr1);
//arsort($arr1,SORT_NUMERIC);
//arsort($arr1,SORT_STRING);
print_r($arr1);
//6.krsort()

//7usort()自定义的
$arr3 = [10,4,22.99,35];
print_r($arr3);
usort($arr3,function($a,$b){
    $res = $a-$b;
    if($res==0){
        return 0;
    }else if($res>0){
        return true;
    }else{
        return false;
    }
});
echo '排序后:';
print_r($arr3);

运行实例 »

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


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