假设我在PHP中有一组键/值对:
array( 'foo' => 'bar', 'baz' => 'qux' );
Run Code Online (Sandbox Code Playgroud)
将此转换为如下所示的数组的最简单方法是什么?
array( 'foo=bar', 'baz=qux' );
Run Code Online (Sandbox Code Playgroud)
即
array( 0 => 'foo=bar', 1 => 'baz=qux');
Run Code Online (Sandbox Code Playgroud)
在perl中,我会做类似的事情
map { "$_=$hash{$_}" } keys %hash
Run Code Online (Sandbox Code Playgroud)
在PHP 的数组函数中有这样的东西吗?我没有看到任何东西似乎是一个方便的解决方案.
小智 15
这个问题的另一个选择:在PHP 5.3+上你可以使用array_map()
一个闭包(你可以用5.2之前的PHP做这个,但代码会变得非常混乱!).
"哦,但是
array_map()
你只能获得价值!"
是的,这是对的,但我们可以映射多个阵列!:)
$arr = array( 'foo' => 'bar', 'baz' => 'qux' );
$result = array_map(function($k, $v){
return "$k=$v";
}, array_keys($arr), array_values($arr));
Run Code Online (Sandbox Code Playgroud)
function parameterize_array($array) {
$out = array();
foreach($array as $key => $value)
$out[] = "$key=$value";
return $out;
}
Run Code Online (Sandbox Code Playgroud)
一种“好奇”的方法=P
// using '::' as a temporary separator, could be anything provided
// it doesn't exist elsewhere in the array
$test = split( '::', urldecode( http_build_query( $test, '', '::' ) ) );
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12651 次 |
最近记录: |