经过多次搜索(并找到关于multidims的无尽帖子,但没有单一的dims)我以为我会问这个问题。
我有一个数组
$arr = array('foo' => 'bar');
我正在寻找
的输出$str = 'foo bar';
这必须是一个班轮,没有递归循环等等,我认为它必须是某种或那种的lambda。这个数组永远不会有多个密钥和单个值。
我认为它最终会看起来像
$arr = array('foo' => 'bar');
echo 'Authorization: ' . array_walk($arr, function ($v, $k) { echo "$k $v"; });
,不幸的是最终为foo barAuthorization: 1
不知道1来自哪里= P
答案 0 :(得分:7)
这应该很简单,因为数组刚刚初始化并且指针位于数组的开头:
echo 'Authorization: ' . key($arr) . ' ' . current($arr);
当然,如果您已经从数组中读取数据,那么在执行此操作之前,您需要执行reset()
以将指针返回到数组的开头。
答案 1 :(得分:-1)
PHP在处理前面的字符串之前处理该函数。尝试使用echo
替换函数中的return
。我认为1来自于array_walk函数的成功处理。
echo 'Authorization: ' . array_walk($arr, function ($v, $k) { return "$k $v"; });
答案 2 :(得分:-3)
“虽然”
,但这个数组绝不会有多个密钥和单个值echo 'Authorization: ' . array_shift(array_keys($arr)). ' ' . array_shift($arr) ;