php 常用数组及字符串

.字符串

    ①获取字符串长度strlen();英文,空格,数字1个字节,汉子3个字节

    ②字符串截取substr('','',字符串)

<?php
function myGBsubstr($string, $start, $length) {
    if (strlen($string) > $length) {
        $str = null;
        $len = 0;
        $i = $start;
        while ( $len < $length) {
        if (ord(substr($string, $i, 1)) > 0xc0) {
            $str .=substr($string, $i, 3);
            $i+= 3;
        }elseif (ord(substr($string, $i, 1)) > 0xa0) {
            $str .= substr($string, $i, 2);
            $i+= 2;
        }else {
            $str.=substr($string, $i, 1);
            $i++;
        }
        $len ++;
        }
        return $str;
       }else {
        return $string;
    }
}
?>

 

    ③首字母大写ucfirst()

    ④每个单词首字母大写ucwords()

    ⑤字符串根据某一条件分割explode()

    ⑥字符串转换数组str_split()

    ⑦字符串替换str_replace()

    ⑧计算指定字符串在目标字符串中最后一次出现的位置strrpos()

    ⑨查找字符串首次出现的位置strpos(变量名,查找对象)

    ⑩数组转换成字符串implode()

   11、mb_substr();

     在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr()的长度参数是按照字节去算的。substr()截取位数不准确,substr()硬生生地将一个中文字符“锯”成两半,造成断开的字符会把其后的码位拉过来一起做一个字,所以出现了PHP substr()截取中文乱码现象。PHP中有原生的解决方案,mb_substr()方法。

<?php
function GBsubstr($string, $start,$length) {
    if (!function_exists(mb_substr)) {
        myGBsubstr($string, $start, $length);
    } else {
        mb_substr($string, $start, $length, 'utf8');
    }
}

?>

    字符串填充:str_pad(字符串对象,填充后的长度,用什么填充,填补的位置(STR_PAD_LEFT/BOTH/RIGHT))

<?php
 parse_url($url)

 echo $url["host"]

 域名转义:urlencode("$url")

 域名反转:$urls=urlencode("$url"); urldecode($urls);

 原样输出:echo “<pre>”;

 array_push:数组添加(末尾);

 array_key_exists检测值是否存在

 用给定的值填数组:array_fill(开始下标值,个数,要填充的值)

 检查是否存在正确的数据in_array("search",数组)

 array_keys()获取键值

 array_values();

 

?>
<?php
<?php

header("content-type:text/html;charset=utf-8");

//定义空数组赋值

/*$arr = [];

// $arr[0] = '张浩';

// echo $arr[0];

$arr = array();

$arr = array('name' =>'zhanghao');

print_r($arr);*/

//数组函数

//1. count(数组); 用来计算数组的长度 返回值 :整型

  // $arr = [1,2,3,4,5];

  // echo count($arr);

 //2.array_change_key_case() 可以将数组索引中的英文字母转成大写或者小写

  // $arr = array('name' =>'zhangsan','sex' =>"nan");

  // print_r(array_change_key_case($arr,CASE_LOWER));

 //3.array_count_values() 统计每个元素在数组中出现的次数

  // $arr = 'ftyhujikldfcghjklrtyuiopghj';

  // $arr1 = str_split($arr);

  // print_r(array_count_values($arr1));

//4.array_fill(索引起始位置,区段大小,指定字符)用给定的值填充数组

  // $arr = [1,2,3];

  // $arr =array_fill(6,10,'aaa');

  // print_r($arr);

//5.array_filter(数组,自定义函数)在回调函数中顾虑数组中单元

  // function odd($var){

  // return($var%2 ==0);

  // }

  // $arr = [1,2,3,4,5,6,7,8,9,10,11];

  // print_r(array_filter($arr,'odd'));

//6.array_flip(数组)  交换数组中键和值

// echo "<pre>";

//   $arr = [1,2,3,4,5,6,7,8,9,10,11];

//   $arr = array_flip($arr);

//   print_r($arr);

//7.数组指针的控制函数  next()向后移动一个   prev()向前移动一个   end();指向最后一个元素 reset()指向第一条

//key() 取得当前指针指向的下标;

//current()取得当前指针指向内容

/*$arr = [1,2,3,4,5,6,7,8,9,10,11];

next($arr);  

end($arr);

reset($arr);

print_r(key($arr));

next();*/

/*8.获取数组的键名和值   

//array_values()返回数组中所有的值,并且建立新的数字索引;

$arr = array('name' => 'zhang','sex' => 'nan');

//$arr = array_values($arr);

//print_r($arr);

echo "<br>";

//array_keys() 返回数组中所有的键名

print_r(array_keys($arr));*/

/*9.数组检索



返回值不同: true/false         返回值键名;false;*/

//10.extract() 数组和变量转换   语法:extract(数组);

/*11.数组与栈   数组栈(入栈和出栈)

//入栈

array_push()数组末尾添加一个元素;

array_unshift()在数组开头添加

//出栈

   array_pop()删除数组末尾一个元素

   array_shift()删除数组第一个元素*/

?>

数组排序

升序,键名不保持:sort()

升序,键名保持:asort()

倒序,键名保持:·krsort()

倒序,键名不保持:reverse()

array_merge( ,  ,  ,)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值