2013-08-07 2 views
-2

У меня есть массив, похожий на ниже. Нам нужно создать три массива из этого массива. Нам нужно разделить все для facebook внутри другого массива и что-то вроде другого твиттера, электронной почты.Создайте три массива из другого массива

Возможно ли это?

Array 
(
    [01] => Array 
     (
      [facebook] => 375 
      [twitter] => 3276 
      [email] => 3276 
     ) 

    [02] => Array 
     (
      [facebook] => 385 
      [twitter] => 3326 
      [email] => 3326 
     ) 

    [03] => Array 
     (
      [facebook] => 391 
      [twitter] => 3327 
      [email] => 3327 
     ) 

    [04] => Array 
     (
      [facebook] => 446 
      [twitter] => 3327 
      [email] => 3327 
     ) 

    [05] => Array 
     (
      [facebook] => 486 
      [twitter] => 3334 
      [email] => 3334 
     ) 

    [06] => Array 
     (
      [facebook] => 2 
      [twitter] => 6 
      [email] => 6 
     ) 

    [07] => Array 
     (
      [facebook] => 1 
      [twitter] => 7 
      [email] => 7 
     ) 

    [08] => Array 
     (
      [facebook] => 3 
      [twitter] => 11 
      [email] => 11 
     ) 

    [09] => Array 
     (
      [facebook] => 0 
      [twitter] => 0 
      [email] => 0 
     ) 

    [10] => Array 
     (
      [facebook] => 0 
      [twitter] => 0 
      [email] => 0 
     ) 

    [11] => Array 
     (
      [facebook] => 0 
      [twitter] => 0 
      [email] => 0 
     ) 

    [12] => Array 
     (
      [facebook] => 0 
      [twitter] => 0 
      [email] => 0 
     ) 

) 

Нам нужно, как это для всех три (facebook, Twitter, электронной почты)

Array(
    [01]=>385, 
    [02]=>375, 
    [03]=>391, 
    [04]=>446, 
    [05]=>486, 
    [06]=>2, 
    [07]=>1, 
    [08]=>0, 
    [09]=>0, 
    [10]=>0, 
    [11]=>0, 
    [12]=>0, 
} 
+0

Да, это возможно. – Dahaka

+0

Да, это возможно. Что вы пробовали? 'foreach' кажется хорошим началом. – Jon

+0

ОК, в чем ваш вопрос? – deceze

ответ

2
$your_array = //here you have your original array 

$facebook = array(); 
$twitter = array(); 
$email = array(); 

foreach($your_array as $sub_array) { 
$facebook[] = $sub_array["facebook"]; 
$twitter[] = $sub_array["twitter"]; 
$email[] = $sub_array["email"]; 
} 
+3

Ад вы испортили его, мы хотели, чтобы он хотя бы попытался :( – MightyPork

0

Вы можете создать три массива легко :-)
скажет основное имя массива $ mainarray


    $facebookarr = array(); 
    $twitterarr = array(); 
    $emailarr = array(); 
    foreach($mainarray as $socialarray) 
    { 
     $facebookarr[] = $socialarray['facebook']; 
     $twitterarr[] = $socialarray['twitter'] 
     $emailarr[] =  $socialarray['email'] 
    } 
    echo '<pre>'; 
    print_r($facebookarr); 
    print_r($twitterarr); 
    print_r($emailarr); 

1

Попробуйте array_column

$fb=array_column($array, 'facebook'); 

ИЛИ

$fb=array_map(function ($i) { return $i['facebook'];},$array); 
Смежные вопросы