2016-07-29 51 views
0

您能否介绍一下如何将一个数组值更改为第二个值。如何在不改变数组的情况下变化数组键值php

请看下面的例子。

第一阵列

Array 
(
    [20239802] => one test 
    [20239801] => two testttttt 
) 

二阵列

Array (
    [content] => Array (
     [0] => Array (
      [content_pack_id] => 10002 
      [content_pack_name] => 100 Days Of Love-FLA 
      [image_path] => Array ([0] => pack_image_10002_width.) 
      [content_image_path] => Array ([imgjpeg80] => http://content.jpg) 
      [content_id] => 20239802 
      [track] => Lede Inthati Santhosham 
      [duration] => 0 
     ) 
     [1] => Array (
      [content_pack_id] => 10003 
      [content_pack_name] => 1001 fdfdf 
      [image_path] => Array ([0] => pack_image_10002_width.)  
      [content_image_path] => Array ([imgjpeg80] => http://content.jpg)  
      [content_id] => 20239801 
      [track] => Lede Inthati Santhosham 
      [duration] => 0 
     ) 
    ) 
    [autoshuffle_pack] => no 
) 

我们需要在第二阵列更换[track]值,如果符合阵列[20239802]与第二阵列[content_id]

需要出放: -

Array 
(
    [content] => Array 
     (
      [0] => Array 
       (
        [content_pack_id] => 10002 
        [content_pack_name] => 100 Days Of Love-FLA 
        [image_path] => Array 
         (
          [0] => pack_image_10002_width. 
         ) 

        [content_image_path] => Array 
         (

          [imgjpeg80] => http://content.jpg 
         ) 

        [content_id] => 20239802 
        [track] => one test 
        [duration] => 0 
       ) 

      [1] => Array 
       (
        [content_pack_id] => 10003 
        [content_pack_name] => 1001 fdfdf 
        [image_path] => Array 
         (
          [0] => pack_image_10002_width. 
         ) 

        [content_image_path] => Array 
         (

          [imgjpeg80] => http://content.jpg 
         ) 

        [content_id] => 20239801 
        [track] => two testttttt 
        [duration] => 0 
       ) 
     ) 

    [autoshuffle_pack] => no 
) 

检查[管理]值在我的需要了变化把

按照取决于第一阵列。

Array 
(
    [20239802] => one test 
    [20239801] => two testttttt 
) 

与第二阵列

[content_id] => 20239801 
[track] => two testttttt 
+0

目前还不清楚要替换的东西。你能否在你的问题中提供预期的产出? – trincot

+0

我这个链接会帮助你一点。它将用代码示例解释两种方法。检查http://blog.vijayrana.com.np/blog/2016/03/14/how-to-change-the-key-of-an-array-element/ – vijayrana

回答

0

你可以做你自己的功能。你的第一个数组中

的foreach记录:

  • 循环,虽然第二和搜索key == content_id
  • 如果匹配的array2[$index][track]值设置为array1[key]
  • 如果不只是继续

您还可以使用array_search()函数更快地找到匹配项,因为我会让你看看PHP文档

2

这是你想做的事:

foreach($second_array as $key => $second_row) { 
    $content_id = $second_row['content_id']; 
    if(isset($first_array[$content_id]) && $first_array[$content_id] != '') { 
     $second_array['track'] = $first_array[$content_id]; 
    } 
} 
相关问题