[英]PHP: Flattening 1 Dimensional array into a spaced string
经过多次搜索(并找到关于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.
这应该很简单,因为数组刚刚初始化并且指针位于数组的开头:
echo 'Authorization: ' . key($arr) . ' ' . current($arr);
当然,如果您已经从数组中读取数据,那么在执行此操作之前,您需要执行reset()
以将指针返回到数组的开头。
PHP在处理前面的字符串之前处理该函数。 尝试使用return
替换函数中的echo
。 我认为1来自于array_walk函数的成功处理。
echo 'Authorization: ' . array_walk($arr, function ($v, $k) { return "$k $v"; });
“这个阵列永远不会有一个以上的密钥和单个值”
echo 'Authorization: ' . array_shift(array_keys($arr)). ' ' . array_shift($arr) ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.