-3

我有一个数组,我想通过 implode 函数将此数组转换为逗号分隔的字符串,但这不起作用。我的代码如下。

 <?php 
$relatedSlides = $result['RelatedSlideshows'];
  $relatedSlides = implode(",",$relatedSlides);
   echo $relatedSlides;
  ?>

$result['RelatedSlideshows']; 是一个数组,它打印完美。这不是一个多维数组。这是一个简单的数组。我该怎么做???

4

4 回答 4

3

simpleXML 对象不是数组。它是一个在某些情况下可以被视为数组的对象。手册参考

The SimpleXML extension provides a very simple and easily usable toolset to convert XML to an object that can be processed with normal property selectors and array iterators.

尝试:

$relatedSlides = array();
$it = $result->RelatedSlideshows->getIterator();
// Iterate over the values in the ArrayObject:
foreach ($it as $key=>$val)
{
    $relatedSlides[] = $val;
}
 $relatedSlides = implode(",",$relatedSlides);
于 2011-11-09T18:02:42.330 回答
2
<?php
ini_set('display_errors',1);  error_reporting(E_ALL);
$relatedSlides = $result['RelatedSlideshows'];
  $relatedSlides = implode(",",$relatedSlides);
   echo $relatedSlides;
?>

给我:

Notice:  Undefined variable: result in ******.php on line 4

Warning:  implode() [function.implode]: Invalid arguments passed in ******.php on line 5

希望那里有足够的隐含提示。

编辑:

尝试:

   $relatedSlides = $result['RelatedSlideshows'] -> RelatedSlideshowID;
于 2011-11-09T17:14:49.783 回答
1

那么您的原始阵列有问题,请检查一下

做一个 $result['RelatedSlideshows'] 的 var 转储。

于 2011-11-09T17:15:04.127 回答
0

我猜这是 mysql_fetch_array() 或 mysql_fetch_assoc() 的结果。如果要从结果中分解数组关联数组,请尝试 implode(",",$result);

但一定要使用 mysql_fetch_assoc(),因为 mysql_fetch_array() 返回 2 个合并数组,1 个关联数组和 1 个数字数组。

于 2011-11-09T17:44:57.670 回答