我有一个看起来像这样的数组。
'keyvals' =>
array
'key1' => 'value1'
'key2' => 'value2'
'key3' => 'value3'
是否有一种很酷的方法可以将其展平为像'value1 value2 value3'
这样的字符串?如果有新的东西,我也可以访问PHP 5.3。
答案 0 :(得分:15)
$someArray = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
implode(' ', $someArray); // => "value1 value2 value3"
答案 1 :(得分:5)
请参阅implode
:
$flat = implode(' ', $array['keyvals']);
答案 2 :(得分: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()
函数