php依照分类统一数组的情势实例详解,php数组合併的二种艺术ca88会员登录中心:

ca88会员登录中心

我们首先给出两个数组

我们首先给出两个数组

最简单的数组合并我们只要使用array_merge即可
array_merge()将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(注意:不是覆盖而是保留最先出现的那个值)。例子:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

    <?php 
     $r = array(1,2,3,4,5,6); 
     $e = array(7,8,9,10); 
    ?> 

<?php 
 $r = array(1,2,3,4,5,6); 
 $e = array(7,8,9,10); 
?>

  $array1 = array(1=>’0′);
  $array2 = array(1=> “data”);
     $result1 = $array2 + $array1;/*结果为$array2的值*/
    print_r($result);
    $result = $array1 + $array2 ;/*结果为$array1的值*/
    print_r($result);
    $result3 =
array_merge($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/
    print_r($result3);
    $result4 =
array_merge($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/
    print_r($result4);

下面我们用array_merge和加号来何必这两数组

下面我们用array_merge和加号来何必这两数组

输出结果为:
Array ( [1] => data )
Array ( [1] => 0 )
Array (
[0] => data
[1] => 0
)
Array
(
[0] => 0
[1] => data
)

复制代码 代码如下:

复制代码 代码如下:

2.当相同数组键名为字符时,“+”运算符与键名为数字时一样,但array_merge()此时会覆盖掉前面相同键名的值。
例子:

    <?php 
    print_r($r+e); // 输出<span style=”font-family:
Simsun;font-size:16px; “>Array ( [0] => 1 [1] => 2 [2]
=> 3 [3] => 4 [4] => 5 [5] => 6 ) </span> 
    print “<br />”; 
    print_r(array_merge($r,$e)); // 输出<span style=”font-family:
Simsun;font-size:16px; “>Array ( [0] => 1 [1] => 2 [2]
=> 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7]
=> 8 [8] => 9 )</span> 
    ?> 

<?php 
print_r($r+e); // 输出<span style=”font-family:
Simsun;font-size:16px; “>Array ( [0] => 1 [1] => 2 [2]
=> 3 [3] => 4 [4] => 5 [5] => 6 ) </span> 
print “<br />”; 
print_r(array_merge($r,$e)); // 输出<span style=”font-family:
Simsun;font-size:16px; “>Array ( [0] => 1 [1] => 2 [2]
=> 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7]
=> 8 [8] => 9 )</span> 
?>

复制代码 代码如下:

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉
下面我们来改变下前面给出的数组

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

 $array1 = array(‘asd’=>’0’);
  $array2 = array(‘asd’ => “data”);
  $result1 = $array2 + $array1;/*结果为$array2的值*/
  print_r($result);
    $result = $array1 + $array2 ;/*结果为$array1的值*/
    print_r($result);
    $result3 = array_merge($array2,$array1);/*结果为$array1*/
    print_r($result3);
    $result4 = array_merge($array1,$array2);/*结果为$array2*/
    print_r($result4);

复制代码 代码如下:

下面我们来改变下前面给出的数组

输出结果为:
Array ( [asd] => data )
Array ( [asd] => 0 )
Array ( [asd] => 0 )
Array ( [asd] => data )

    <?php 
     $r = array(‘r’=>1,2,3,4,5,6); 
     $e = array(<span style=”background-color: rgb(245, 250, 255);
“>’r’=></span>7,8,9,10); 
    ?> 

复制代码 代码如下:

讲了这么多费话,下面才是我要给各位朋友介绍的
根据分类字段进行数组重组
 

复制代码 代码如下:

<?php 
 $r = array(‘r’=>1,2,3,4,5,6); 
 $e = array(<span style=”background-color: rgb(245, 250, 255);
“>’r’=></span>7,8,9,10); 
?> 

复制代码 代码如下:

    <?php 
    print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1]
=> 3 [2] => 4 [3] => 5 [4] => 6 ) 
    print “<br />”; 
    print_r(array_merge($r,$e)); // 输出Array ( [0] => 1 [1]
=> 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6]
=> 7 [7] => 8 [8] => 9 ) 
    ?> 

复制代码 代码如下:

<?php
//需要重组的数组
$arrar=array();
$array[]=array(‘ItemID’ => 110126866896,’CategoryID’=>111);
$array[]=array(‘ItemID’ => 120126866896,’CategoryID’=>112);
$array[]=array(‘ItemID’ => 130126866896,’CategoryID’=>113);
$array[]=array(‘ItemID’ => 140126866896,’CategoryID’=>114);
$array[]=array(‘ItemID’ => 150126866896,’CategoryID’=>115);
$array[]=array(‘ItemID’ => 160126866896,’CategoryID’=>116);
$array[]=array(‘ItemID’ => 170126866896,’CategoryID’=>117);
$array[]=array(‘ItemID’ => 118126866896,’CategoryID’=>111);
$array[]=array(‘ItemID’ => 121126866896,’CategoryID’=>112);
$array[]=array(‘ItemID’ => 132126866896,’CategoryID’=>113);
$array[]=array(‘ItemID’ => 143126866896,’CategoryID’=>114);
$array[]=array(‘ItemID’ => 154126866896,’CategoryID’=>115);
$array[]=array(‘ItemID’ => 165126866896,’CategoryID’=>116);
$array[]=array(‘ItemID’ => 176126866896,’CategoryID’=>117);
//数组根据分类进行重组
$newArray=array();
foreach($array as $val){
    $newArray[$val[‘CategoryID’]][]=$val;
}

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。如果非数字键名相同,则后面数组的值会覆盖前面数组的值。
然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

<?php 
print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1] => 3
[2] => 4 [3] => 5 [4] => 6 ) 
print “<br />”; 
print_r(array_merge($r,$e)); // 输出Array ( [0] => 1 [1] =>
2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [ca88会员登录中心,6] => 7
[7] => 8 [8] => 9 ) 
?> 

//删除原始数组释放空间
$array=null;
unset($array);

您可能感兴趣的文章:

  • PHP合并数组的2种方法小结
  • 基于php实现随机合并数组并排序(原排序)
  • PHP合并数组+号和array_merge的区别
  • php合并数组中相同元素的方法
  • php根据分类合并数组的方法实例详解
  • PHP中通过加号合并数组的一个简单方法分享
  • PHP合并数组+与array_merge的区别分析
  • php合并数组array_merge函数运算符加号与的区别
  • php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
  • php二维数组合并及去重复的方法
  • PHP合并数组函数array_merge用法分析

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。如果非数字键名相同,则后面数组的值会覆盖前面数组的值。
然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

print_r($newArray);

您可能感兴趣的文章:

  • PHP将二维数组某一个字段相同的数组合并起来的方法
  • php二维数组合并及去重复的方法
  • php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
  • PHP使用自定义方法实现数组合并示例
  • php通过array_merge()函数合并两个数组的方法
  • php中有关合并某一字段键值相同的数组合并的改进
  • php合并数组中相同元素的方法
  • php数组合并array_merge()函数使用注意事项
  • PHP将两个关联数组合并函数提高函数效率
  • php数组实现根据某个键值将相同键值合并生成新二维数组的方法

?>
 

您可能感兴趣的文章:

  • PHP合并数组的2种方法小结
  • 基于php实现随机合并数组并排序(原排序)
  • PHP合并数组+号和array_merge的区别
  • php合并数组中相同元素的方法
  • php中用加号与用array_merge合并数组的区别深入分析
  • PHP中通过加号合并数组的一个简单方法分享
  • PHP合并数组+与array_merge的区别分析
  • php合并数组array_merge函数运算符加号与的区别
  • php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
  • php二维数组合并及去重复的方法
  • PHP合并数组函数array_merge用法分析

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图