duanlujiaji10335 2013-02-21 01:29
浏览 25
已采纳

PHP:将1维数组扁平化为间隔开的字符串

After much search (and finding endless posts about multidims, but no single dims) I thought I'd ask this question.

I have an array

$arr = array('foo' => 'bar');

and am looking for an output of

$str = 'foo bar';

This MUST be a one liner, no recursive loops etc etc etc, I am thinking that its going to have to be a lambda of some sort or another. This array will NEVER have more than a single key and a single value though.

I think its going to end up looking something like

$arr = array('foo' => 'bar');
echo 'Authorization: '  . array_walk($arr, function ($v, $k) { echo "$k $v"; });

which unfortunately ends up as foo barAuthorization: 1

no idea where the 1 comes from =P

  • 写回答

3条回答 默认 最新

  • dongzhan2461 2013-02-21 01:36
    关注

    This should be quite easy since the array was just initialized and the pointer resides at the beginning of the array:

    echo 'Authorization: ' . key($arr) . ' ' . current($arr);
    

    Of course if you have already read data from the array you would want to do a reset() before doing this to return the pointer to the beginning of the array.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?