博客列表 >数组排序,字符串相关操作—2018年4月20日15时54分

数组排序,字符串相关操作—2018年4月20日15时54分

Gee的博客
Gee的博客原创
2018年04月20日 15:55:19583浏览

实例

<?php 
echo '<h3>数组排序方法</h3>';
echo '<hr>';
/**
 * 一、正序排序:sort(),asort(),ksort()
 * 二、反转排序:rsort(),arsort(),krsort()
 */

$arr = ['id'=>3, 'name'=>'xiaoli', 'course'=>'php', 'book'=>'study', 5=>true];
echo '<pre>';
echo '<p>原始数组:</p>';
print_r($arr);
echo '<hr>';

// 1.sort(&$arr,$flag)原始数组会被改写,正序且键名重置
// sort($arr);
// sort($arr, SORT_NUMERIC);
// sort($arr, SORT_STRING); // ASCII
// print_r($arr);

// 2.asort(&$arr,$flag)正序且键名保留
// asort($arr); // 忽略类型
// asort($arr, SORT_NUMERIC);
// asort($arr, SORT_STRING); // ASCII
// print_r($arr);

// 3.ksort(&$arr,$flag)按键名排序
// ksort($arr); // 忽略类型
// ksort($arr, SORT_NUMERIC);
// ksort($arr, SORT_STRING); // ASCII
// print_r($arr);

// 4.rsort(&$arr,$flag)倒序且键名忽略
// rsort($arr); // 忽略类型
// rsort($arr, SORT_NUMERIC);
// rsort($arr, SORT_STRING); // ASCII
// print_r($arr);

// 5.arsort(&$arr,$flag)倒序且键名保留
// arsort($arr); // 忽略类型
// arsort($arr, SORT_NUMERIC);
// arsort($arr, SORT_STRING); // ASCII
// print_r($arr);

// 6.krsort(&$arr,$flag)键名倒序排序
// krsort($arr); // 忽略类型
// krsort($arr, SORT_NUMERIC);
// krsort($arr, SORT_STRING); // ASCII
// print_r($arr);

// 7.usort()
// $arr1 = [10, 4, 22, 99, 35, 18];
// print_r($arr1);
// usort($arr1, function($a, $b)
// {
// 	$res = $a - $b;
// 	if ($res == 0)
// 	{
// 		return 0;
// 	} else if ($res > 0)
// 	{
// 		return true;
// 	} else
// 	{
// 		return false;
// 	}
// });
// echo '<p>排序后</p>';
// print_r($arr1);

echo '<h3>字符串长度计算</h3><hr>';
/**
 * strlen($str)
 * mb_strlen($str, $encoding)
 */
$siteName = 'php中文网';
// 获取系统内部的字符编码集
$encoding = mb_internal_encoding();
echo '内部的字符编码集:', $encoding, '<br>';

// 1.strlen($str)获取字节表示的字符串长度
echo strlen($siteName), '<br>';

// 2.mb_strlen($str [, $encoding])获取字符数表示的长度
// echo mb_strlen($siteName), '<br>';
echo mb_strlen($siteName, 'UTF-8'), '<br>';

echo '<hr>';

echo '<h3>字符串与数组之间的转换</h3><hr>';
/**
 * 1.str_split($str, $length)
 * 2.explode($delimiter, $str, $num)
 * 3.implode($glue, $str)
 */

echo '<pre>';
$str = 'html,css,jquery,php,mysql,thinkphp';
echo strlen($str);
echo '<p>原始字符串:'.$str.'</p>';
// 1.str_split($str, $length)
print_r(str_split($str, 5));

// 2.explode($delimiter, $str, $num)按分隔符将字符串分割成数组
print_r(explode(',', $str));
print_r(explode(',', $str, 5)); //分割成5组,第6组没有,放在第5组

// 3.implode($glue, $str)按分隔符,将一维数组拼装成字符串
$arr2 = explode(',', $str);
print_r($arr2);
echo implode(',', $arr2), '<br>';
echo implode('***', $arr2), '<br>';
echo implode(' ', $arr2), '<br>';

echo '<hr>';

echo '<h3>字符串的查找与替换</h3><hr>';
/**
 * 1.strpos($str1, $str2):查找$str2在$str1中首次出现的位置
 * 2.strstr($str1, $str2):如果$str2是$str1的子串,返回子串,否则返回false
 * 3.str_replace():子串替换
 * 4.substr_replace():替换字符串的子串
 */

$str = 'www.php.cn';
// 1.strpos($str1, $str2):查找$str2在$str1中首次出现的位置
echo strpos($str, 'p'), '<br>';
echo strpos($str, 'p', 5), '<br>'; //可以指定位置开始查找

echo '<hr>';

// 2.strstr($str1, $str2):如果$str2是$str1的子串,返回子串,否则返回false
echo strstr($str, 'php'), '<br>'; //返回子串及其后面内容
echo strstr($str, 'php', true), '<br>'; //返回子串前面部分,不包括子串

echo '<hr>';

// 3.str_replace($str1, $str2, $str):子串替换
echo str_replace('www','http:/www',$str), '<br>';

// 4.substr_replace($str, $str1, $start, $length):替换字符串的子串
echo substr_replace($str, 'pppph', 5, 2);//www.ppppph.cn

运行实例 »

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


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