私はこのような配列を持っています。配列を値の文字列に展開する方法は?
'keyvals' =>
array
'key1' => 'value1'
'key2' => 'value2'
'key3' => 'value3'
'value1 value2 value3'
のような文字列にそれを平坦化するクールな方法はありますか?私はPHP 5.3へのアクセス権も持っています。
私はこのような配列を持っています。配列を値の文字列に展開する方法は?
'keyvals' =>
array
'key1' => 'value1'
'key2' => 'value2'
'key3' => 'value3'
'value1 value2 value3'
のような文字列にそれを平坦化するクールな方法はありますか?私はPHP 5.3へのアクセス権も持っています。
$someArray = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
implode(' ', $someArray); // => "value1 value2 value3"
implode
を参照してください:
$flat = implode(' ', $array['keyvals']);
あなたは、単一の次元に、この配列をフラット化する必要がある場合 - (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()
関数
それは正しい構文ではない、あなたはproviすることができます本当の例?そして、あなたは正確に何をしたいですか?行の各値を印刷するか、配列を1行に定義しますか? – Griffin
@Griffin、申し訳ありませんが、この構文はvar_dump()の外です。 – sameold