我有这样的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"
。我的问题是,当我尝试上述功能时,它会给出
错误:"return join('',$myarray(;"行中的"数组到字符串的转换">
如何解决这个问题?
您需要将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;
}
}
正如我所理解的:您需要按顺序追加所有数组的元素。
$str = "";
for ($i = 0; $i<sizeOf($array); $i++)
{
for ($j=0; $j<sizeOf($array[$i]); $j++)
{
$str .= $array[$i][$j];
}
}
echo $str;