2014-06-12 192 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