php 替换 已有数组键值

html5cloud 2013-02-25 01:56:15

foreach($arry1 as $key => $value) {
if (array_key_exists($key,$arry2))
{
$arry2[$key]=$value;
}
else
{
array_push($arry2,"$key=>$value");
ksort($arry2);
}
}


需求: 如果数组arry2中有arry1中的属性,则arry2中该属性值替换为arry1该属性值;如果没有则加入进入.
数组是 key=> value 那样的,如arry[a:1,b:[1,2]]
上面代码为何有问题呢?
...全文
637 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
html5cloud 2013-02-25
  • 打赏
  • 举报
回复
搞定

 $a=['a','b','c','d'];
 $b=array('a'=>'b', 'c'=>'d');

$count = count($a);
$j=0;
 
  for($i=0; $i<$count/2;$i++) {
  	        $str = $a[$j];
            $c[$str]= $a[++$j] ;
             $j++;
 }
 echo "<hr>";
 print_r( $c ) ;
 echo "<hr>";
 print_r( $b ) ;
html5cloud 2013-02-25
  • 打赏
  • 举报
回复
是我搞错了! 请问怎样把 数组 (a,b,c,d) 转成 (a=>b c=>d) 谢谢
xuzuning 2013-02-25
  • 打赏
  • 举报
回复
不知道你要干什么 请给出示例数据和期望的结果
html5cloud 2013-02-25
  • 打赏
  • 举报
回复
这成了全部替换了呢
html5cloud 2013-02-25
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
array_push($arry2,"$key=>$value"); 改为 $arry2[$key] = $value");
那这样的话,就不用判断了是否有属性相同的值了:

 foreach($arry1 as $key => $value) {
  
      $arry2[$key]=$value;
   
    
     
    }
            ksort($arry2);
xuzuning 2013-02-25
  • 打赏
  • 举报
回复
array_push($arry2,"$key=>$value"); 改为 $arry2[$key] = $value");

21,886

社区成员

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

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