array string 文件操作 常用操作函数

数组

  1. int array_shift($arr)  ------------  从数组元素pop第一个元素 

         int array_unshift($arr, $var) --------- 向数组头部插入一个元素        i

     2.  current($arr)    -------------返回当前数组元素的值

     类似的数组函数还有 end($arr)-----返回数组最后一个元素的值  next($arr) ----- 返回数组当前的下一个元素值                                                                   prev($arr) -----返回当前数组的上一个元素值  reset($arr) ----- 重新将数组指针指向首元素                                                               each($arr) ---- 返回当前元素的键名和键值,并将内部指针向前移动(在php 7.2.0中each废弃了)

<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo current($people) . "<br>";           //Peter  
echo next($people) . "<br>";              //Joe 指针指向Joe
echo prev($people) . "<br>";              //Peter 指针指向上一个  Peter
echo end($people)  . "<br>";              //Cleveland 指针指向最后一个元素
echo reset($people);                      //Peter  指针重置指向首元素 
?>

   

3.查找

        bool in_array(value,array,type)----------查找数组中的某个值是否存在  返回bool

        key array_search(value,array,strict)  ------ 查找数组中某个值是否存在 并返回键名

    4.初始化/填充

    最近需要先初始化一个n长度的数组,需要初始化键值为0,想到了C的malloc 搜了半天没有看到  无意中看到了array_fill() 填充数组,记录一下

    array array_fill($index, $len, $value) ------------从下标index开始 长度为len的数组赋予value的值  index也就是返回的数组键是从index开始计数

   5. 排序 

    php的数组排序 sort  ksort  

int(bool) sort ($arr) ------ 将键值进行排序   排序后的键值关系发生变化

int(bool) ksort($arr)  -------将键进行排序  排序后的键值关系不发生变化

 相反的降序   int(bool) rsort($arr) ------------将键值进行降序排序   排序后的键值发生变化

    注意  起始键从1 变成了 0

int(bool)  krsort($arr)  ------------------ 将键进行降序排序     排序后的键值关系不变

上面的sort和rsort都会将键值对于关系修改  那么 asort 和arsort则是根据键值升(降)进行排序  排序后的键值关系不发生变化

     6.   array array_filp($arr)  -------------- 将数组的键值交换  

<?php
$arr = ['qqq' => 'qq', 'www' => 'ww', 'eee' => 'ee'];
print_r(array_flip($arr));exit;

 结果:

  7.  array_merge($arr1, $arr2, $arr3... )  将多个数组合并为一个  

         ***** array + array  和array_merge区别   1>>> 若合并有键名冲突,merge会覆盖之前的键  而array + array 则不会

 8.  explode 字符串  === 》 数组

     implode  数组   ====》字符串

9. array_slice($arr, offset, length) 从数组arr第offset个元素开始,取length个元素,返回为数组类型

10. serialize()  & unserialize() 序列化和反序列化  作用:将数组/对象类型序列化为字符,反序列和其相反  场景:需要将一个数组/对象存入文本中,可以先序列化,存储,之后读取先反序列化。

11. array  array_count_values(array)  统计数组中所有值出现的次数。 

$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a));

//  Array ( [A] => 2 [Cat] => 1 [Dog] => 2 )

12. bool array_key_exists(key,array) 键存在返回true 不存在返回false

 

字符串

       1. substr ------------- 字符串截取

          string substr($arr, start, length)   从arr中从start(为正从头开始,为负从尾部开始) 截取到length的长度(为正和开始方向相同  为负和开始方向相反)

<?php 
		$str = '123456789';
		$retStr = substr($str, 0); // 返回全部字符串
		echo "$retStr" . "<br>";   // 123456789 

		$retStr = substr($str, 0 ,3); // 从首部0标 截取长度为3 的字符串返回
		echo "$retStr" . "<br>";      //  123

		$retStr = substr($str, 0, -1);  // 从首部0标,截取到从尾部开始的1长度的下标
		echo "$retStr" . "<br>";        // 12345678

		$retStr = substr($str, -3, -1);  //从尾部向首部第三个元素 7 开始  向尾部-1位置截取
		echo "$retStr" . "<br>"; exit;   // 78

                                 

             2. str_pad 字符串填充

                 str_pad(string,length,pad_string,pad_type) ----------   string操作字符串     length 填充长度   pad_string 填充的字符串                                                                                                         pad_type 填充方向  左侧/右侧 

                                                                       STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。                                                                           STR_PAD_LEFT - 填充字符串的左侧STR_PAD_RIGHT - 填充字符串的右侧。默认

              

<?php 
		$str = '123';
		$str1 = str_pad($str, 5, '456');
		print($str1); echo "<br>";  //12345
		$str2 = str_pad($str, 6, '0');
		print($str2);echo "<br>";   //123000

		$str2 = str_pad($str, -1, '456'); 
		print($str2);exit;          // 123

       3.strrev();  反转字符串

 

文件操作

         1. dirname($path) 函数返回路径中的目录部分。即返回去掉文件名后的目录名。

             basename($path)  函数返回路径中的文件名部分。

         2.

  • "r" (只读方式打开,将文件指针指向文件头)
  • "r+" (读写方式打开,将文件指针指向文件头)
  • "w" (写入方式打开,清除文件内容,如果文件不存在则尝试创建之)
  • "w+" (读写方式打开,清除文件内容,如果文件不存在则尝试创建之)
  • "a" (写入方式打开,将文件指针指向文件末尾进行写入,如果文件不存在则尝试创建之)
  • "a+" (读写方式打开,通过将文件指针指向文件末尾进行写入来保存文件内容)
  • "x" (创建一个新的文件并以写入方式打开,如果文件已存在则返回 FALSE 和一个错误)
  • "x+" (创建一个新的文件并以读写方式打开,如果文件已存在则返回 FALSE 和一个错误

     3. file_exists()  判断文件是否存在   

         feof($file)  文件结尾判断      fgets($file)   读取文件的一行  

      4.   file_get_content($path)   获取文件的内容

           file_put_content($path)    向文件内写入内容

      

 

其他 

        1. bindec  ---------------- 二进制转 十进制

            decbin  --------------- 十进制转  二进制

<?php
echo bindec("0011") . "<br>";   // 3
echo bindec("01") . "<br>";     // 1
echo bindec("11000110011") . "<br>"; // 1587
echo bindec("111");             // 7


echo decbin("3") . "<br>";      // 11
echo decbin("1") . "<br>";      // 1
echo decbin("1587") . "<br>";   // 11000110011
echo decbin("7");               // 111




       2. serialize  将对象或者数组转换为序列化    方便存储在其他地方 eg:将php数组存储在file文件中,可以先序列化存储,读取时可以反序列化后读取出

         unserialize 将序列化后的内容转为之前格式,mix格式,序列化之前是什么格式,返回什么格式

<?php
$sites = array('Google', 'Runoob', 'Facebook');
$serialized_data = serialize($sites);
echo  $serialized_data . PHP_EOL;
// a:3:{i:0;s:6:"Google";i:1;s:6:"Runoob";i:2;s:8:"Facebook";}

$unserialized_data = unserialize($str);
print_r($unserialized_data);

// Array
// (
//    [0] => Google
//    [1] => Runoob
//    [2] => Facebook
// )


?>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值