2016-07-25 4 views
3

解決するのが難しいはずはないと思いますが、解決策が得られません。2次元配列のデータを埋め込む

私はこの結果を持っているために、配列を内破しようとしている:ここで

$new_array = "755, 646, 648, 260, 257, 261, 271, 764, ..." 

は私の配列です:

Array 
(
    [0] => Array 
     (
      [0] => 755 
      [1] => 646 
     ) 

    [1] => Array 
     (
      [0] => 648 
      [1] => 260 
      [2] => 257 
      [3] => 261 
     ) 

    [2] => Array 
     (
      [0] => 271 
     ) 

    [3] => Array 
     (
      [0] => 764 
      [1] => 643 
      [2] => 260 
      [3] => 263 
      [4] => 756 
      [5] => 763 
      [6] => 762 
      [7] => 259 
      [8] => 257 
      [9] => 758 
      [10] => 261 
      [11] => 768 
      [12] => 757 
      [13] => 647 
     ) 
) 

私は単純な配列でこれを行う方法を知っている:

$newarray = implode(", ", $array); 

私は(array_keys付き)キーを取得する方法を知っている

$new_array = implode(", ", array_keys($array)); 

私はarray_mapで試しましたが、今は結果がありません。

あなたは私を助け、正しい方向に私を指差しますか?

+0

'array_mapを()'であなたの試みを表示するには、そう遠くない溶液から、おそらくです。 – Rizier123

+0

array_map()はあなたのためにそれを行います –

+0

@ Rizier123 @SunilPachlangia私の質問は 'array_map()'で更新しました –

答えて

4

あなたは(私たちの多次元配列が$list呼び出された場合)1に、内側の配列をマージする必要があり、私たちはすることができます:

$merged = array_reduce($list, 'array_merge', array()); 

今、あなたはそれを容易に崩壊することができます。

$string = implode(', ', $merged); 

が与えられた文字列をエコーだろうプリント:

755,646,648,260,257,261,271,764 ...

01あなたも How to Flatten a Multidimensional Array?を確認することができ、この目的のために

は、このように我々は、配列が平らにする必要があり、それの要素は、それ自体がそう array to string conversionエラーが発生する可能性のある配列であるので、あなたが多次元配列を内破することはできません知っています。また array_reduceは何をすべきか知っている

は次のとおりです。

反復的にコールバック関数を使用して単一の値に配列を減らします。..array_walk_recursive機能を使用してsee more

0

これを試してみてください。

<?php 
     $array = array 
     (
     array(755,646), 
     array(648,260,257,261), 
     array(271), 
     array(764,643,260,263,756,763,762,259,257,758,261,768,757,647) 
    ); 
     echo "<pre>"; 
     print_r($array); 
     foreach ($array as $value) { 
     $newstring[]=implode(",",$value); 
     } 
     echo implode(",",$newstring); 

    ?> 

あなたはループで

0

上記のようなforeachループでそれを行うことができます。

$array = array(
    0 => array(
     'name' => 'John Doe', 
     'email' => '[email protected]' 
    ), 
    1 => array(
     'name' => 'Jane Doe2', 
     'email' => '[email protected]' 
    ), 
); 


//function to display values 
function ImplodeDataValue($array) { 
$tosinglearray=array(); 
for ($i = 0; $i <= count($array)-1; $i++) { 
$tosinglearray[]=implode(',',$array[$i]); 
} 
return implode(',',$tosinglearray); 
} 

echo ImplodeDataValue($array); 
//returns John Doe,[email protected],Jane Doe2,[email protected] 
関連する問題