Blogger Information
Blog 36
fans 1
comment 0
visits 32455
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP数据排序_字符串截取替换_2018年8月27日
宋超的博客
Original
1397 people have browsed it

1.字符串截取实例

<?php
/**
 * 实例演示substr(),截取字符串  string substr ( string $string , int $start [, int $length ] )
 * strstr(),strchr()返回一个字符串在另一个字符串中开始位置到结束的字符串  string strstr ( string $str, string $needle , bool $before_needle )

 * strpos()函数 返回字符串在另一字符串中第一次出现的位置(对大小写敏感),常用在查找字符串
 *相关函数:
stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
strripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
 */
$arr = 'Keep on studying each, happy learning';
echo $arr,'<br>';
$arr1 = substr($arr,2,5);
$arr2 = substr($arr,-8,-2);
echo '<pre>',$arr1,'<br>';
echo '<pre>',$arr2,'<hr>';
$arr3= strstr($arr,'s');
echo $arr3,'<hr>';
$arr31= strstr($arr,'s',true);
echo $arr31,'<hr>';

$arr4 = strpos($arr,'s',true);
echo $arr4,'<br>';
echo strpos("You love php, I love php too!","php");

运行实例 »

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

2.字符串替换实例

<?php
/**
 * str_replace(), substr_replace()
 */
//1.str_replace() str_ireplace是str_replace的忽略大小写版本  子字符串替换
$bodytag = str_replace("PHP", "JAVA", "<span class='body'>PHP中文网</span>");
echo $bodytag,'<hr>';
$words = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$words = str_replace($words,'',"Hello World of PHP");
echo $words.'<hr>';

$ctext = '好好学习,天天向上,每天进步一点点';
$re = ['好','天','上'];
$rt = ['good','day','up'];
//$ctext=str_replace($ctext,"$rt","$re");
$ctext = str_replace($re,$rt,$ctext);
echo print_r($ctext,true),'<hr>';

//2.substr_replace() 替换字符串的子串,指定位置替换
//mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )
/*
 * substr_replace() 在字符串 string 的副本中将由 start 和可选的 length 参数限定的子字符串使用 replacement 进行替换。
 * string 输入字符串。
start 如果 start 为正数,替换将从 string 的 start 位置开始。
如果 start 为负数,替换将从 string 的倒数第 start 个位置开始。
length 如果设定了这个参数并且为正数,表示 string 中被替换的子字符串的长度。
如果设定为负数,它表示待替换的子字符串结尾处距离 string 末端的字符个数。
如果没有提供此参数,那么它默认为 strlen( string ) (字符串的长度)。
当然,如果 length 为 0,那么这个函数的功能为将 replacement 插入到 string 的 start 位置处。*/
$var = 'ABCDEFGH:/IJK223lMNRPQR/';
echo "$var<hr />\n";
echo strlen($var),'<hr>';
echo substr_replace($var,'abc',0),'<hr>';
echo substr_replace($var,'abc',0,-5),'<hr>';
echo substr_replace($var,'',5,5),'<hr>';

运行实例 »

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

3.数组排序实例

<?php
/*
*数组排序
*/
//$arr = [1,3,2,5,3,7,9,6,8];
//sort($arr);
//echo '<pre>',var_export($arr),'<hr>';
//rsort($arr);
//echo var_export($arr),'<hr>';


//usort() 通过用户自定义的比较函数对数组进行排序
$arr = [1,3,2,5,7,9,6,8];

usort($arr,function ($var1, $var2){
     $rts = $var1 - $var2;
     switch ($rts){
         case($rts < 0):
             return -1;
             break;
         case($rts>0):
             return 1;
             break;
         case ($rts == 0):
                 return 0;
                 break;
             }
    });
var_export($arr);
echo '<hr>';
function my_sort($a,$b)
{
    if ($a==$b) return 0;
    return ($a<$b) ? 1 : -1;
}
echo '<pre>';
$a=array(4,2,3,5,7,6,11,9,10);
usort($a,"my_sort");
print_r($a);
usort($a,function($c,$d){
    if ($c == $d) return 0;
    return ($c<$d) ? -1 : 1;
});
print_r($a);

$sort=['one'=>['id'=>11,'name'=>'php'],'two'=>['id'=>2,'name'=>'css'],'three'=>['id'=>6,'name'=>'html'],'four'=>['id'=>4,'name'=>'javascript']];
print_r($sort);
usort($sort,function ($a,$b){
    if($a['id'] == $b['id']) return 0;
    return ($a['id'] < $b['id']) ? 1 : -1;
});
echo print_r($sort,true),'<hr>';
usort($sort,function ($a,$b){
    if($a['id'] == $b['id']) return 0;
    return ($a['id'] < $b['id']) ? -1 : 1;
});
echo print_r($sort,true),'<hr>';
$sorta=['one'=>['id'=>11,'name'=>'php'],'two'=>['id'=>2,'name'=>'css'],'three'=>['id'=>6,'name'=>'html'],'four'=>['id'=>4,'name'=>'javascript']];
uksort($sorta, function($m, $n) {

    $a = substr($m['name'],1,1 );
    $b = substr($n['name'],1,1 );
    return strcmp($a, $b);
});
echo '<p style="background:red">',print_r($sorta,true),'</p>';


$array[0] = array('key_a' => 'z', 'key_b' => 'c');
$array[1] = array('key_a' => 'x', 'key_b' => 'b');
$array[2] = array('key_a' => 'y', 'key_b' => 'a');

function build_sorter($key) {
    return function ($a, $b) use ($key) {
        return strnatcmp($a[$key], $b[$key]);
    };
}
usort($array, build_sorter('key_b'));
foreach ($array as $item) {
    echo $item['key_a'] . ', ' . $item['key_b'] . "\n";
}
echo '<hr>';
usort($array, build_sorter('key_a'));
foreach ($array as $item) {
    echo $item['key_a'] . ', ' . $item['key_b'] . "\n";
}

运行实例 »

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

总结:

  1. 字符串的截取以及替换学习。

  2. 数组排序学习,根据值、键以及自定义排序。usort通过用户自定义的比较函数对数组进行排序还需要再多练习。

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