2017-02-22 44 views
-5
<?php 
echo "--Array functions---"; 
?></br> 
<?php 
$numbers = [ 
    5 , 
    4, 
    2, 
    7, 
    8, 
    'name' => [ 
     'jimit', 
     'prashant', 
     'neel' 
    ] 
]; 

foreach ($numbers as $key => $value) { 
    echo implode(" ", $value); 
} 

我得到阵列信息警告:破灭():无效的参数传递 任何解决方案,这个请建议我警告:破灭():无效的参数传递

+1

只有'$ numbers'中的最后一个元素是一个数组。而'implode()'需要一个数组作为第二个参数。 – Rizier123

+0

只有在最后一种情况下'$ value'是一个数组。否则它是数字。 'implode'需要数组,而不是数字。 – sed

+0

只打印名称值我怎么能 –

回答

0

有根据您的问题&您发布的评论两种可能的解决方案:

当你想只打印“名称”的名称等关键要素,然后把这个代码:

​​

OR

如果要打印与数字沿着整个数组,然后将这些代码:

$arr = array(); 
    foreach ($numbers as $key => $value) { 
     if(is_array($value)) { 
      foreach($value as $val){ 
       $arr[] = $val; 
      } 
     } else { 
      $arr[] = $value; 
     } 
    } 
    echo $result = implode(" ", $arr); 

希望,这可能对您有所帮助。

+0

谢谢你这个代码工作 –

1

你所得到的错误,因为$value不是阵列。

检查之前检查。

foreach ($numbers as $key => $value) { 
    if(is_array($value)) { 
     echo implode(" ", $value); 
    } else { 
     echo $value; 
    } 
} 
+0

thanx这个人工作 –

相关问题