2016-07-29 112 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]; 
    } 
} 
相關問題