2011-10-29 10 views
4

私はこのような配列を持っています。配列を値の文字列に展開する方法は?

'keyvals' => 
    array 
     'key1' => 'value1' 
     'key2' => 'value2' 
     'key3' => 'value3' 

'value1 value2 value3'のような文字列にそれを平坦化するクールな方法はありますか?私はPHP 5.3へのアクセス権も持っています。

+1

それは正しい構文ではない、あなたはproviすることができます本当の例?そして、あなたは正確に何をしたいですか?行の各値を印刷するか、配列を1行に定義しますか? – Griffin

+2

@Griffin、申し訳ありませんが、この構文はvar_dump()の外です。 – sameold

答えて

13
$someArray = array(
    'key1' => 'value1', 
    'key2' => 'value2', 
    'key3' => 'value3' 
); 
implode(' ', $someArray); // => "value1 value2 value3" 
4

implodeを参照してください:

$flat = implode(' ', $array['keyvals']); 
3

あなたは、単一の次元に、この配列をフラット化する必要がある場合 - (KohanaののFWから)この機能を見てみましょう

/** 
    * Convert a multi-dimensional array into a single-dimensional array. 
    * 
    *  $array = array('set' => array('one' => 'something'), 'two' => 'other'); 
    * 
    *  // Flatten the array 
    *  $array = Arr::flatten($array); 
    * 
    *  // The array will now be 
    *  array('one' => 'something', 'two' => 'other'); 
    * 
    * [!!] The keys of array values will be discarded. 
    * 
    * @param array array to flatten 
    * @return array 
    * @since 3.0.6 
    */ 
    function flatten($array) 
    { 
     $flat = array(); 
     foreach ($array as $key => $value) 
     { 
      if (is_array($value)) 
      { 
       $flat += flatten($value); 
      } 
      else 
      { 
       $flat[$key] = $value; 
      } 
     } 
     return $flat; 
    } 

しかし、あなたの場合ちょうど文字列を取得したい - ネイティブを使用するimplode()関数

関連する問題