很多站长朋友们都不太清楚php重组数组键,今天小编就来给大家整理php重组数组键,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 数组同一下标元素重组 2、 php 把多维数组中,某值相同的项合并,重组数据 3、 php数组合并两个数组(一个数组做键名,另一个做值) **key名字可以重复 4、 php数组合并 要保持两个数组的键名都不变 5、 PHP 数组重组 php 数组同一下标元素重组你这种情况,是需要用二级联动菜单才能做到的,可以搜一下“PHP二级联动菜单”的demo,我个人空间里也有,你可以去找下
php 把多维数组中,某值相同的项合并,重组数据<?php
$laArray = array(
0 => array("id"=>11,"name"=>"happy","age"=>"20","moeny"=>100),
1 => array("id"=>29,"name"=>"lucy","age"=>"20","moeny"=>100),
2 => array("id"=>34,"name"=>"happy","age"=>"20","moeny"=>235),
3 => array("id"=>42,"name"=>"happy","age"=>"15","moeny"=>100),
4 => array("id"=>51,"name"=>"happy","age"=>"20","moeny"=>600),
5 => array("id"=>61,"name"=>"lucy","age"=>"20","moeny"=>350),
6 => array("id"=>61,"name"=>"lucy","age"=>"23","moeny"=>150),
);
$temArr = $laArray ;
$newArr = array();
foreach($laArray as $num => $arr ){
unset($temArr[$num]);
$id = $arr['id'];
foreach($temArr as $tNum =>$tArr ){
$n_arr = array();
$tem_moeny = array();
if($arr['name']== $tArr['name'] $arr['age']== $tArr['age']){
$id .= '+'.$tArr['id'];
$n_arr['id'] = $id;
$n_arr['name'] = $arr['name'];
$n_arr['age'] = $arr['age'];
if(is_array($arr['moeny'])){
array_push($n_arr['moeny'], $tArr['moeny']);
}else{
$tem_moeny [] = $arr['moeny'];
$tem_moeny [] = $tArr['moeny'];
}
$tem_moeny[] = $tArr['moeny'];
$n_arr['moeny'] = $tem_moeny;
$newArr[] = $n_arr ;
}
}
if($id == $arr['id']){
$newArr[] = $arr ;
}
}
print_r($newArr);
?>
php数组合并两个数组(一个数组做键名,另一个做值) **key名字可以重复php将两个键名和键值的数组元素合并为一个数组
你好,有两个方法可以实现:
一:
$arry_a = array(0, 1, 2);
$arry_b = array('dongsir','董先生','董先生的CSDN博客');
$arry_ab = [];
foreach ($arry_b as $key => $value) {
$arry_ab[$arry_a[$key]] = $value;
}
echo "<pre>";
print_r($arry_ab);
输出
Array
(
[0] => dongsir
[1] => 董先生
[2] => 董先生的CSDN博客
)
第二个方法:
php将两个键名和键值的数组元素合并为一个数组
php将两个键名和键值的数组元素合并
如果存在相同的键名,则可以这样来处理,我们参照第一个方法修改一下:
$arry_a = array("a", "a", "c");
$arry_b = array('dongsir','董先生','董先生的CSDN博客');
$arry_ab = [];
foreach ($arry_b as $key => $value) {
if (isset($arry_ab[$arry_a[$key]])) {
$arry_ab[$arry_a[$key]] = $arry_ab[$arry_a[$key]] . ",". $value;
}else{
$arry_ab[$arry_a[$key]] = $value;
}
}
echo "<pre>";
print_r($arry_ab);
输出:
Array
(
[a] => dongsir,董先生
[c] => 董先生的CSDN博客
)
php数组合并 要保持两个数组的键名都不变键名如果都是唯一的.. 写个循环来组一个新的数组就可以了:
$a = array("a" => "avalue", "b" => "bvalue");
$b = array("c" => "cvalue", "d" => "dvalue");
$c = array();
foreach( $a as $key => $value ) {
$c[$key] = $value;
}
foreach( $b as $key => $value ) {
$c[$key] = $value;
}
【PHP array_merge() 函数】
定义和用法
array_merge() 函数把一个或多个数组合并为一个数组。
提示:您可以向函数输入一个或者多个数组。
注释:如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。
注释:如果您仅向 array_merge() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引(参见下面的实例 1)。
提示:该函数与 array_merge_recursive() 函数之间的不同是在处理两个或更多个数组元素有相同的键名的情况。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
PHP 数组重组很简单,代码如下:
// 假设数组变量$array保存了当前数据
foreach ($array as $key $value) { // 遍历数组
// 通过正则表达式来判断是否为诸如1.x的下标
if (!preg_match('/\./', $key)) {
// 删除数组诸如下标为:1,2,3的数据
unset($array[$key]);
continue;
}
// 通过.点来分割诸如1.x的下标
$array2 = explode('.', $key);
// 使用新数组来存储数据
$array3[$array2[0]][$key] = $value;
}
// 如果数组下标在排序上有任何颠倒可用ksort()[正序]或krsort()[倒序]来排序
ksort($array3);
// 打印重组的数组效果如下
print_r($array3);
Array
(
[1] => Array
(
[1.1] => 美妆保养
[1.2] => 美容工具
[1.3] => 护肤保养
[1.4] => 美容化妆
[1.5] => 美发护发
)
[2] => Array
(
[2.1] => 香水须后水
[2.2] => 工具配件
)
)
如果还有任何问题,欢迎追问~
关于php重组数组键的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php重组数组键 php数组重新索引的详细内容...