这篇文章主要介绍“PHP中数组的处理方法”,在日常操作中,相信很多人在PHP中数组的处理方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中数组的处理方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、将字符串分割成数组:$array=explode(separator,$string):
separator:分隔符,
$string:分割的字符串;
2、将数组组合成字符串:$string=implode(glue,$array):
glue:胶合符,
$array:数组;
3、统计数组的长度:count():
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组
<!--?php<br data-filtered="filtered" /--> $arr=array(
0=>array('title' => '苹果', 'viewnum' => 青的, 'content' => 'pingguo'),
1=>array('title' => '柚子', 'viewnum' => 红心, 'content' => 'youzi')
);
echo '不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo "
";
echo '统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>
4、合并两个数组:array_merge():
$a[];
$b[];
$c[] = array_merge( $a , $b );
5、数组排序:
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
array_multisort() 函数对多个数组或多维数组进行排序。
<!--?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>
6、数组与json格式的转换:
json_encode():将数组转换为json对象格式,追加参数:JSON_UNESCAPED_UNICODE对中文网站建设进行编码;
json_decode():将json对象转换为php对象格式;
json_decode( $obj , true ):将json对象转换为数组;
$bad_json = "{ 'bar': 'baz' }";
$bad_json = '{ bar: "baz" }';
$bad_json = '{ "bar": "baz", }';
对这三个字符串执行json_decode()都将返回null,并且报错。
第一个的错误是,json的分隔符(delimiter)只允许使用双引号,不能使用单引号。第二个的错误是,json名值对的"名"(冒号左边的部分),任何情况下都必须使用双引号。第三个的错误是,最后一个值之后不能添加逗号(trailing comma)。
另外,json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。
7、数组的交集,差集,并集
$inter_arr = array_intersect($m_arr,$m_card):数组的交集;
$diff_arr = array_diff($m_card,$m_arr):数组的差集;
数组的差集只能获取第一个数组中别的数组中没有的,如想获取所有数组的差集结合array_merge();
$diff_arr = array_diff($m_card,$m_arr);
$diff_arr2 = array_diff($m_arr,$m_card);
$arr = array_merge($diff_arr,$diff_arr2);
$merge = array_merge():数组的并集;
8、替换数组的值:
array_replace();
到此,关于“PHP中数组的处理方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。