如何用PHP中的2D数组中的元素创建一个字符串?

时间:2015-07-04 07:06:49

标签: php multidimensional-array

我有像这样的2D数组。

Array ( [0] => Array ( [0] => 1 [1] => 1 [2] => 0 [3] => 1)   [1] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 0)   [2] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 0

我想要的是将所有这些元素打印为一个字符串。这意味着,要打印"110110001000"

我试过这样的东西

for ($x = 0; $x < $this->smallersize; $x++) {
    for ($y = 0; $y < $this->smallersize; $y++) { 

         $myarray[$x][$y] = ($dct[$x][$y] >= $avg?"1":"0");    

        }
} 
return join('',$myarray);

我想要的是打印"110110001000"我的问题是当我尝试上面的功能时它会给出一个

  

错误:&#34;数组到字符串转换&#34;在线&#34;返回加入(&#39;&#39;,$ myarray);&#34;

如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您需要使用implode两次array_map

$array = Array(Array(1,1,0,1),Array(1,0,0,0),Array(1,0,0,0));
$result = array_map('implode',$array);
echo implode($result);//11011000100010

使用foreach作为

foreach($array as $key => $value){
    foreach($value as $v){
        echo $v;
    }
}

答案 1 :(得分:1)

正如我所理解的:你需要按顺序附加所有数组的元素。

$str = "";

for ($i = 0; $i<sizeOf($array); $i++)
{
    for ($j=0; $j<sizeOf($array[$i]); $j++)
    {
        $str .= $array[$i][$j];
    }
}

echo $str;