当前位置:首页 » 编程语言 » php反转数组

php反转数组

发布时间: 2022-07-03 04:49:05

php代码实现:1)删除整个数组2)删除数组中指定的元素3)删除重复的元素

$arr = array(1,2,4,2,0,9,8,5);//定义一个数组。

$arr1 = $arr; //定义另一个数组和上一个数组一样。

//循环第一个数组让后循环第二个数组 用第一个数组的每个值和第二个数组比较如果相同就删除,最后输出第二个数组就行了。

for($i = 0;$i<count($arr);$i++){

for($j=$i+1;$j<count($arr);$j++){

if($arr[$i] == $arr[$j])

unset($arr1[$i]);

}

}

echo'<pre>';

print_r($arr1);

第二 如果允许使用array_uniqe()函数的话,直接array_uniqe(直接写数组名就ok)。

在PHP中可以使用内置函数array_unique()来直接删除重复元素,也可以使用array_flip()函数来间接删除重复元素。

1.array_unique()函数

array_unique()函数可以移除数组中的重复的值,并返回结果数组;当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

代码示例:

<?php$result1 = array("a" => "green", "red", "b" => "green", "blue",

"red");var_mp($result1);$result2 = array_unique($result1);var_mp($result2);?>

2.array_flip()函数

array_flip()是反转数组键和值的函数,它有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值,利用这个特性我们用他来间接的实现数组的去重。

代码示例:

<?phpheader("content-type:text/html;

charset=utf-8");$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);// 输出原始数组echo "原始数组

:";var_mp($a);// 。

通过使用翻转键和值移除重复值$a = array_flip($a);

// 通过再次翻转键和值来恢复数组元素$a = array_flip($a);// 重新排序数组键$a = array_values($a);// 输出更新后的数组echo "更新数组 :";var_mp($a);?>

② 求反转PHP数组树形结构

你说的是把json串转成数组吧?json_decode('要转的串',true);这样就可以了,用这个函数,我看你这个应该是手机端发来的数据吧。

③ PHP如何转换数组

php有个函数json_decode可以满足你的需求,上面的字符串用json_decode执行一下就可以了,希望对你有帮助

④ Php 交换数组中的键和值

可以使用PHP内置函数array_flip(),将数组键名与值对调。
array_flip() 函数将使数组的键名与其相应值调换,即键名变成了值,而值变成了键名。
但注意键值不能一样才能使用。

⑤ php用递归函数反转数组

这个问题,简单,首先问楼主一个问题,如果说其中没有一个数组的话反转你应该会写对吧,其实这个里面有个数组就是再次调用一次本身函数就好,这就是所谓的递归,代码如下:

$arr=array("1","2","3","php",array("4","5","6"));
functionarray_rev($arr){
for($i=count($arr)-1;$i>=0;$i--){
if(is_array($arr[$i])){//这里判断是否为数组
$temp1=array_rev($arr[$i]);//若为数组则开始调用自身
$temp[]=$temp1;
continue;
}
$temp[]=$arr[$i];
}
return$temp;
}
var_mp(array_rev($arr));

⑥ php 怎么反向遍历一个数组

把他倒序一次
foreach(array_reverse($a) as $i=>$v){
echo $v;
}

⑦ PHP如何让数据倒序显示

PHP让数据倒序显示有两种方法,
1.如果直接是字符串或者是数组,分别用strrev 或者array_reverse()反转。
2.可以自己写一个算法,让字符串反转过来$str = "abcdef";for ($i=1; $i<=strlen($str); $i++){echo substr($str , -$i , 1);}。

⑧ php数组的PHP 5 Array 函数

PHP Array 函数允许您访问并操作数组。 函数 描述 array() 创建数组。 array_change_key_case() 返回其键均为大写或小写的数组。 array_chunk() 把一个数组分割为新的数组块。 array_column() 返回输入数组中某个单一列的值。 array_combine() 通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。 array_count_values() 用于统计数组中所有值出现的次数。 array_diff() 比较数组,返回两个数组的差集(只比较键值)。 array_diff_assoc() 比较数组,返回两个数组的差集(比较键名和键值)。 array_diff_key() 比较数组,返回两个数组的差集(只比较键名)。 array_diff_uassoc() 比较数组,返回两个数组的差集(比较键名和键值,使用用户自定义的键名比较函数)。 array_diff_ukey() 比较数组,返回两个数组的差集(只比较键名,使用用户自定义的键名比较函数)。 array_fill() 用给定的键值填充数组。 array_fill_keys() 用给定的指定键名的键值填充数组。 array_filter() 用回调函数过滤数组中的元素。 array_flip() 反转/交换数组中的键名和对应关联的键值。 array_intersect() 比较数组,返回两个数组的交集(只比较键值)。 array_intersect_assoc() 比较数组,返回两个数组的交集(比较键名和键值)。 array_intersect_key() 比较数组,返回两个数组的交集(只比较键名)。 array_intersect_uassoc() 比较数组,返回两个数组的交集(比较键名和键值,使用用户自定义的键名比较函数)。 array_intersect_ukey() 比较数组,返回两个数组的交集(只比较键名,使用用户自定义的键名比较函数)。 array_key_exists() 检查指定的键名是否存在于数组中。 array_keys() 返回数组中所有的键名。 array_map() 将用户自定义函数作用到给定数组的每个值上,返回新的值。 array_merge() 把一个或多个数组合并为一个数组。 array_merge_recursive() 递归地把一个或多个数组合并为一个数组。 array_multisort() 对多个数组或多维数组进行排序。 array_pad() 将指定数量的带有指定值的元素插入到数组中。 array_pop() 删除数组中的最后一个元素(出栈)。 array_proct() 计算数组中所有值的乘积。 array_push() 将一个或多个元素插入数组的末尾(入栈)。 array_rand() 从数组中随机选出一个或多个元素,返回键名。 array_rece() 通过使用用户自定义函数,迭代地将数组简化为一个字符串,并返回。 array_replace() 将所有被替换数组中的元素替换成第一个数组。 array_replace_recursive() 将所有被替换数组中的元素递归地替换成第一个数组。 array_reverse() 将原数组中的元素顺序翻转,创建新的数组并返回。 array_search() 在数组中搜索给定的值,如果成功则返回相应的键名。 array_shift() 删除数组中的第一个元素,并返回被删除元素的值。 array_slice() 返回数组中的选定部分。 array_splice() 把数组中的指定元素去掉并用其它值取代。 array_sum() 返回数组中所有值的和。 array_udiff() 比较数组,返回两个数组的差集(只比较键值,使用一个用户自定义的键名比较函数)。 array_udiff_assoc() 比较数组,返回两个数组的差集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。 array_udiff_uassoc() 比较数组,返回两个数组的差集(比较键名和键值,使用两个用户自定义的键名比较函数)。 array_uintersect() 比较数组,返回两个数组的交集(只比较键值,使用一个用户自定义的键名比较函数)。 array_uintersect_assoc() 比较数组,返回两个数组的交集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。 array_uintersect_uassoc() 比较数组,返回两个数组的交集(比较键名和键值,使用两个用户自定义的键名比较函数)。 array_unique() 删除数组中重复的值。 array_unshift() 在数组开头插入一个或多个元素。 array_values() 返回数组中所有的值。 array_walk() 对数组中的每个成员应用用户函数。 array_walk_recursive() 对数组中的每个成员递归地应用用户函数。 arsort() 对关联数组按照键值进行降序排序。 asort() 对关联数组按照键值进行升序排序。 compact() 创建一个包含变量名和它们的值的数组。 count() 返回数组中元素的数目。 current() 返回数组中的当前元素。 each() 返回数组中当前的键/值对。 end() 将数组的内部指针指向最后一个元素。 extract() 从数组中将变量导入到当前的符号表。 in_array() 检查数组中是否存在指定的值。 key() 从关联数组中取得键名。 krsort() 对关联数组按照键名降序排序。 ksort() 对关联数组按照键名升序排序。 list() 把数组中的值赋给一些数组变量。 natcasesort() 用自然排序算法对数组进行不区分大小写字母的排序。 natsort() 用自然排序算法对数组排序。 next() 将数组中的内部指针向前移动一位。 pos() current() 的别名。 prev() 将数组的内部指针倒回一位。 range() 创建一个包含指定范围的元素的数组。 reset() 将数组的内部指针指向第一个元素。 rsort() 对数值数组进行降序排序。 shuffle() 把数组中的元素按随机顺序重新排列。 sizeof() count() 的别名。 sort() 对数值数组进行升序排序。 uasort() 使用用户自定义的比较函数对数组中的键值进行排序。 uksort() 使用用户自定义的比较函数对数组中的键名进行排序。 usort() 使用用户自定义的比较函数对数组进行排序。

⑨ php数组的key与value翻转

可以逆转,不过其中会有3个值,因为你的b,d,f出现都是一次,所以转过来以后b,d的位置就会被最后出现的f替换掉
$arr = array("a","b","c","a","c","a",'d','f');
$list = array_count_values($arr);
echo "<pre>";
print_r($list);
foreach($list as $k=>$v){
$arr1[$v]=$k;
}
建议重组

输出如下:
Array
(
[a] => 3
[b] => 1
[c] => 2
[d] => 1
[f] => 1
)
Array
(
[3] => a
[1] => f
[2] => c
)

⑩ PHP数组反向读取

首先,key值是唯一的,但是value不一定唯一。
所以不能单纯的从value读取key
但是你可以在数组中搜索指定的value,返回第一个匹配到的元素对应的key
$key=array_search('56',$softid_map);
echo $key;//结果是linchuang

热点内容
肥胖的算法 发布:2024-05-03 05:38:09 浏览:782
两个数据库事务 发布:2024-05-03 05:33:41 浏览:854
phpjson转 发布:2024-05-03 05:33:40 浏览:659
设计一个虚拟存储区 发布:2024-05-03 05:24:18 浏览:926
压缩机如何配置电容 发布:2024-05-03 05:20:55 浏览:108
pythonconvert函数 发布:2024-05-03 05:19:54 浏览:526
androidspinner下拉 发布:2024-05-03 05:14:05 浏览:588
go源码编译2021 发布:2024-05-03 05:02:27 浏览:285
两驱车买哪个配置最好 发布:2024-05-03 04:41:42 浏览:803
如何给服务器上传文件 发布:2024-05-03 04:28:47 浏览:708