2011-10-29 42 views
4

我有一個看起來像這樣的數組。如何將數組拼成一串值?

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

有沒有把它弄平像'value1 value2 value3'字符串一個很酷的方式?如果有新的東西,我也可以訪問PHP 5.3。

+1

這甚至不是正確的語法,你能provi一個真實的例子?你到底想做什麼?你想要在一行中打印每個值,還是要在一行中定義一個數組? – 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()函數

相關問題