0

私はこのような配列を持っています。

    Array
    (
        [0] => Array
            (
                [email] => abc@gmail.com
                [timestamp] => 2013-05-03 09:20:01
            )

        [1] => Array
            (
                [email] => def@gmail.com
                [timestamp] => 2013-05-03 09:20:23
            )

        [2] => Array
            (
                [email] => ghi@gmail.com
                [timestamp] => 2013-05-03 09:20:43
            )

    )

これをこのようにシンプルにしたい。

    Array
    (
        [0] => abc@gmai1.com
        [1] => def@gmail.com
        [2] => ghi@gmail.com
    )

unset 関数を試してみましたが、まだ期待どおりに動作しません。

私は配列の概念にあまり興味がないので、愚かな質問です!!! :(

4

6 に答える 6

6

array_mapの代わりに使用する方が良いと思いますunset

function filter($x)
{
    return $x['email'];
}

$emails = array_map('filter', $your_array);

これは基本的に、関数を使用して入力配列を出力配列にマップしますfilter

于 2013-05-03T11:06:31.393 に答える
3
foreach($foo as $key=>$value)
{
  $foo[$key] = $value['email'];
}
于 2013-05-03T11:06:52.077 に答える
1

古い配列から必要なものを選択して、新しい配列に入れるだけです。

$newArray = array();
foreach($oldArray as $containedArray)
{
  $newArray[] = $containedArray['email'];
}

var_dump($newArray);
于 2013-05-03T11:06:56.400 に答える
1
<?php
 $array = Array
    (
        Array
            (
                email => 'abc@gmail.com',
                timestamp => '2013-05-03 09:20:01'
            ),

        Array
            (
                email => 'def@yahoo.co.in',
                timestamp => '2013-05-03 09:20:23'
            ),

        Array
            (
                email => 'ghi@gmail.com',
                timestamp => '2013-05-03 09:20:43'
            ),

);


foreach ($array as $array){
   $newArray[] = $array['email'];
}

var_dump($newArray);
于 2013-05-03T11:14:47.437 に答える
0

何も設定解除する必要はありません。適切な値を割り当てるだけです:

<?php
$array = array(
      array(
            "email" => 'aaa@aaa.com',
            "timestamp" => 2,
            ),
      array(
            "email" => 'bbb@aaa.com',
            "timestamp" => 3,
            ),
);

foreach($array as $key => $value)
{
      $array[$key] = $value["email"];
}

var_dump($array);
于 2013-05-03T11:10:00.190 に答える
0

これを試して、

 <?php
  $array= array(
    0 => array
        (
           'email' => 'abc@gmail.com',
            'timestamp' =>' 2013-05-03 09:20:01'
        ),

    1 => array
        (
            'email'=> 'def@gmail.com',
            'timestamp' => '2013-05-03 09:20:23'
        ),

    2 => array
        (
            'email'=> 'ghi@gmail.com',
            'timestamp' => '2013-05-03 09:20:43'
        )

 );

foreach($array as $key => $data)
{
$array[$key]=$data['email'];
}
  print_r($array);  

?>

あなたは得るでしょう

   Array
    (
     [0] => abc@gmai1.com
     [1] => def@gmail.com
     [2] => ghi@gmail.com
    )
于 2013-05-03T11:22:09.863 に答える