PHP注意:数组到字符串转换错误

时间:2015-06-10 15:21:40

标签: php arrays

<?php 

$arr00 = array(1,5,7);
$arr01 = array(9,6,3,$arr00);
$arr02 = array(4,8,12,$arr01);

echo $length = count($arr00);
echo "<br />";

echo $length1 = count($arr01);
echo "<br />";

echo $length2 = count($arr02);
echo "<br />";
for($i = 0; $i < $length; $i++)
    for($j = 0; $j < $i; $j++)
      for($k = 0; $k < $j; $k++){

         echo "<pre>";
    print_r($arr02);
    echo "</pre>";

      }


 foreach ($arr00 as $value)
    {
        echo $value." ";
    }
    foreach ($arr01 as $value1) 
        {
        echo $value1." ";
    }
    foreach ($arr02 as $value2) 
    {
        echo $value2." ";
    }

注意:第34行的C:\ xampp \ htdocs \ mywebpage \ 3dimns.php中的数组到字符串转换 阵列4 8 12 注意:第39行的C:\ xampp \ htdocs \ mywebpage \ 3dimns.php中的数组到字符串转换 阵列

3 个答案:

答案 0 :(得分:2)

你的问题从这里开始:

$arr00 = array(1,5,7);
$arr01 = array(9,6,3,$arr00);
$arr02 = array(4,8,12,$arr01);

$arr01$arr02的第四个元素是一个数组,所以当你循环遍历这些数组并尝试echo输出值时,你会得到第4次迭代的这个消息循环。

你到底想做什么?

如果要组合两个数组,您应该查看示例array_merge()(尽管这取决于您希望如何处理重复项):

$arr00 = array(1,5,7);
$arr01 = array_merge( array(9,6,3), $arr00 );

答案 1 :(得分:0)

此错误是因为您的阵列中有一个数组。使用此代码而不仅仅是回显:

if(is_string($value)) echo $value." ";

要在数组中显示数组,可以添加else case:

else var_dump($value);

答案 2 :(得分:0)

您应该开始研究如何解决这个问题,以便您更容易理清。

$arr00 = array(1,5,7);
$arr01 = array(9,6,3,$arr00);
$arr02 = array(4,8,12,$arr01);

为什么不为您的array_merge()尝试$arr01,这样您就可以拥有类似

的内容
$arr01 = array(9,6,3);
$newArr1 = array_merge($arr00,$arr01);

然后

$arr02 = array(4,6,12);
$newArr2 = array_merge($$arr02,$arr01);

通过上述内容,您将只有3个易于处理的阵列

$arr00,$newArr1,$newArr2

您现在可以轻松执行其他代码。