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) ? '全数字' : '手机必须是数字';点击 "运行实例" 按钮查看在线实例
点击 "运行实例" 按钮查看在线实例
//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);点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号