2017-03-04 12 views
-1

フォームを介してコントローラに渡されるこのようなデータ配列があります。それは、javascript関数で収集されています。それは、常に名前を電子メールで送信されますが、2セットまたは100配列を分割してキー名を設定する方法

array:10 [▼ 
    0 => "[email protected]" 
    1 => "Ken" 
    2 => "[email protected]" 
    3 => "Robert" 
    4 => "[email protected]" 
    5 => "Robert" 
    6 => "[email protected]" 
    7 => "Mike" 
] 

私は現在、私も必要なものこの

$recipients = array_chunk($recipients, 2); 

array:5 [▼ 
    0 => array:2 [▼ 
     0 => "[email protected]" 
     1 => "Ken" 
    1 => array:2 [▼ 
     0 => "[email protected]" 
     1 => "Robert" 
    2 => array:2 [▼ 
     0 => "[email protected]" 
     1 => "Robert" 
    3 => array:2 [▼ 
     0 => "[email protected]" 
     1 => "Mike" 
] 

をやっていることは、これは...

array:5 [▼ 
    0 => array:2 [▼ 
     email => "[email protected]" 
     name => "Ken" 
    1 => array:2 [▼ 
     email => "[email protected]" 
     name => "Robert" 
    2 => array:2 [▼ 
     email => "[email protected]" 
     name => "Robert" 
    3 => array:2 [▼ 
     email => "[email protected]" 
     name => "Mike" 
] 
ですがあるかもしれません

どうすればよいですか?ありがとう!

+0

とアレイに追加? –

+0

私が質問しているAPIは、しかし私が知る限り、それはまだ起こっていない。 – ahackney

答えて

1

キーを使用して値をアレイに再追加し、その重複をインデックスで削除することができます。

$recipients = array(
     0 => "[email protected]", 
     1 => "Ken", 
     2 => "[email protected]", 
     3 => "Robert", 
     4 => "[email protected]", 
     5 => "Robert", 
     6 => "[email protected]", 
     7 => "Mike" 
    ); 

    $recipients = array_chunk($recipients, 2); 

    for ($i=0; $i < count($recipients); $i++) 
    { 
     $recipients[$i]['email'] = $recipients[$i][0]; 
     $recipients[$i]['name'] = $recipients[$i][1]; 
     unset($recipients[$i][0]); 
     unset($recipients[$i][1]); 
    } 

それは以下のような出力になります:

Array 
(
    [0] => Array 
     (
      [email] => [email protected] 
      [name] => Ken 
     ) 

    [1] => Array 
     (
      [email] => [email protected] 
      [name] => Robert 
     ) 

    [2] => Array 
     (
      [email] => [email protected] 
      [name] => Robert 
     ) 

    [3] => Array 
     (
      [email] => [email protected] 
      [name] => Mike 
     ) 

) 

私はそれはあなたを助け願っています。

0

はい、これを行うことができます。

<?php 
$array = array(
"foo" => "bar", 
"bar" => "foo", 
100 => -100, 
-100 => 100, 
); 
var_dump($array); 
?> 

メールと名前が常にあるのであれば、それは必ず偶数になりますカスタムキー

<?php 
$array= array(); 
$array[]='name=>bob'; 
var_dump($array); 

Array docs

関連する問題