-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 に答える