我们有名字的数组:
array(
Robin Hood,
Little John,
Maid Marion,
Friar Tuck,
Will Scarlet
)
每个项目中的第一个单词应移到此项目的末尾。
我们应该得到这个:
array(
Hood Robin,
John Little,
Marion Maid,
Tuck Friar,
Scarlet Will
)
我们怎么做?
如果我们使用foreach()
感谢。
答案 0 :(得分:5)
如果,您只需要在第一个空格之前移动部件(在explode()
中设置$limit = 2
以仅获得两个部分):
function func($n) {
list($first, $rest) = explode(' ', $n, 2);
return $rest . ' ' . $first;
}
$trans = array_map('func', $names);
(Demo)
给出:
Array
(
[0] => Hood Robin
[1] => John Little
[2] => Marion Maid
[3] => Tuck Friar
[4] => Scarlet Will
[5] => Fitzgerald Kennedy John
)
答案 1 :(得分:3)
不是一个特别迷人的解决方案:
foreach( $person_array as $key => $value){
$reversed_person_array[]=implode(' ', array_reverse(explode(' ', $value,2)));
}
答案 2 :(得分:3)
foreach($names as $key => $name)
{
$splitted = explode(' ', $name, 2);
$names[$key] = $splitted[1].' '.$splitted[0];
}
答案 3 :(得分:1)
浏览你的数组,使用explode将条目拆分为''(空格),然后使用array_shift剪切并获取第一个元素,array_push到最后和'{(空格)再次implode整个事情。
答案 4 :(得分:0)
哈!那是伟大的艾哈迈德!
我正在做类似的事情......得到了
$first = $array[0];
array_shift($array);
array_push($array, $first);
然后我刷新了页面并看到了你的页面。干净整洁!