如果改变数组元素的顺序?

q652820916 2011-09-27 05:10:15
$arr = array(
"r"=>"red",
"b"=>"blue",
"l"=>"lime"
);

交换第一个和第二个的顺序

b"=>"blue",
r"=>"red",
"l"=>"lime"
...全文
451 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ohmygirl 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xuzuning 的回复:]

PHP code
$arr = array(
"r"=>"red",
"b"=>"blue",
"l"=>"lime"
);

foreach(array('b', 'r', 'l') as $k)
$r[$k] = $arr[$k];

print_r($r);

Array
(
[b] => blue
[r] => red
[l] => li……
[/Quote]

哈哈,这无疑是针对lz需求最简洁的方法。。我顶1024
smcfy 2011-09-27
  • 打赏
  • 举报
回复
重新定义一个数组,以你要的顺序把每个元素array_push()进去应该可以吧?虽然效率有点低..
xuzuning 2011-09-27
  • 打赏
  • 举报
回复
$arr = array(
"r"=>"red",
"b"=>"blue",
"l"=>"lime"
);

foreach(array('b', 'r', 'l') as $k)
$r[$k] = $arr[$k];

print_r($r);
Array
(
[b] => blue
[r] => red
[l] => lime
)
星辰紫 2011-09-27
  • 打赏
  • 举报
回复
楼主先说说 你替换的目的 或者原因 也许会有更好的方法
如果只是你列出来的这个数组的3个元素进行改变 可以有很多方法啊
q652820916 2011-09-27
  • 打赏
  • 举报
回复
谢谢你yhkyo
q652820916 2011-09-27
  • 打赏
  • 举报
回复
kxn308你那个文章有点深奥。一时半会看不懂
士元 2011-09-27
  • 打赏
  • 举报
回复
用错方法了
士元 2011-09-27
  • 打赏
  • 举报
回复
$arr = array(
"r"=>"red",
"b"=>"blue",
"l"=>"lime"
);
$temp =end($arr);
$temp_k =key($arr);
array_pop($arr);
$arr=array_reverse($arr);
$arr[$temp_k]=$temp;
var_dump($arr);
For_Ning 2011-09-27
  • 打赏
  • 举报
回复
如果只是单纯想换的话,
就采用最原始的方法咯
q652820916 2011-09-27
  • 打赏
  • 举报
回复
没有任何改变啊。
For_Ning 2011-09-27
  • 打赏
  • 举报
回复
给你一个链接
从源码解释 这个顺序
自己看
http://www.laruence.com/2009/08/23/1065.html
士元 2011-09-27
  • 打赏
  • 举报
回复
$arr = array(
"r"=>"red",
"b"=>"blue",
"l"=>"lime"
);
$temp =end($arr);
$temp_k =key($arr);
array_pop($arr);
krsort($arr);
$arr[$temp_k]=$temp;
var_dump($arr);
q652820916 2011-09-27
  • 打赏
  • 举报
回复
什么别的方式?有例子吗
士元 2011-09-27
  • 打赏
  • 举报
回复
可以是可以,但是是以别的方式来达到实际目的,
如果你只是把头两个KV换一下,那方式相当多.
q652820916 2011-09-27
  • 打赏
  • 举报
回复
能不能改变顺序呢
smcfy 2011-09-27
  • 打赏
  • 举报
回复
为什么要改变顺序?不明白...

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧