2014-06-12 188 views
1

這裏是我的array,我想修改它我需要的方式。PHP - 刪除陣列的值

Array 
    (
     [0] => Array 
      (
       [0] => Array 
        (
         [ip] => 127.0.0.1 
         [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
         [timestamp] => 1402593151 
        ) 

      ) 

     [1] => Array 
      (
       [0] => Array 
        (
         [ip] => 127.0.0.1 
         [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
         [timestamp] => 1402593194 
        ) 

      ) 

     [2] => Array 
      (
       [0] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593249 
       ) 

      [1] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593250 
       ) 

      [2] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593257 
       ) 

      [3] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593282 
       ) 

      [4] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593286 
       ) 

     ) 

    [3] => Array 
     (
      [0] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593303 
       ) 

      [1] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593308 
       ) 

      [2] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593309 
       ) 

      [3] => Array 
       (
        [ip] => 127.0.0.1 
        [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
        [timestamp] => 1402593309 
       ) 

     ) 

) 

我需要上述array父母去除,子值保存,像這樣的:

Array 
(
    [0] => Array 
     (
      [ip] => 127.0.0.1 
      [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
      [timestamp] => 1402593151 
     ) 
    [1] => Array 
     (
      [ip] => 127.0.0.1 
      [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
      [timestamp] => 1402593194 
     ) 
    [2] => Array 
     (
      [ip] => 127.0.0.1 
      [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
      [timestamp] => 1402593249 
     )  
    [3] => Array 
     (
      [ip] => 127.0.0.1 
      [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
      [timestamp] => 1402593303 
     ) 

    [4] => Array 
     (
      [ip] => 127.0.0.1 
      [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
      [timestamp] => 1402593308 
     ) 

    [5] => Array 
     (
      [ip] => 127.0.0.1 
      [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
      [timestamp] => 1402593309 
     ) 

    [6] => Array 
     (
      [ip] => 127.0.0.1 
      [php_session] => d9r2qfeiheo0gfklcq7vbj9nq7 
      [timestamp] => 1402593309 
     ) 
) 
在此之後

,我想修改的結果array以消除有任意鍵相同的ipphp_session的值。有什麼想法嗎?

+0

只是好奇,但你有沒有試圖解決這個問題?也許甚至是一個簡單的foreach循環? –

+0

@JonathanKuhn,是的,我做了一些研究,我發現很多答案,但沒有答案解決了我的問題。我得到的最有用的答案是'RecursiveIteratorIterator'函數,但仍然沒有做到我想要的。 –

回答

2

只是要像2個foreach循環這樣:

<?php 
$beginArray = array(
    array(
     array(
      'ip' => '127.0.0.1', 
      'php_session' => 'abcde', 
      'timestamp' => 'abce' 
     ) 
    ), 
    array(
     array(
      'ip' => '127.0.0.1', 
      'php_session' => 'abcde', 
      'timestamp' => 'abce' 
     ) 
    ), 
    array(
     array(
      'ip' => '127.0.0.1', 
      'php_session' => 'abcde', 
      'timestamp' => 'abce' 
     ) 
    ), 
); 


foreach($beginArray as $array) { 

    foreach($array as $arr) { 
     $resultArray[] = $arr; 
    } 

} 
var_dump($resultArray); 
?> 

不管怎麼說:以更好的名字來。 :)

+0

不錯,但是如何將'array'與它的值匹配呢?像'刪除數組,其中ip == 127.0.0.1和php_session == abcde'?你的意思是「爲變量取更好的名字」,我是否設置了這些不好或錯誤的東西? –

+0

不哈哈,我的意思是不要把我的變量名'$ array''$ resultArray''$ arr'。 – Xatenev

+0

然後您可能必須使用array_search()。 – Xatenev