>  기사  >  백엔드 개발  >  PHP数组操作问题

PHP数组操作问题

WBOY
WBOY원래의
2016-06-23 13:57:33724검색

比方说有2个数组$a和$b

$a=array("1"=>"123","2"=>"1234","3"=>"1334");


$b=array("1"=>"123,"2"=>"1230");

怎么得到$c=array("2"=>"12234","3"=>“delete");







因为1对应的123 都是一样 去掉了   2对应的 因为$b比$a小 所以要保留$a的   3因为不存在 所以 后面变成"delete“


回复讨论(解决方案)

$a = array("1"=>"123","2"=>"1234","3"=>"1334");$b = array("1"=>"123","2"=>"1230");$c = array();foreach($a as $k=>$v) {  if(isset($b[$k])) {    if($b[$k] == $v) continue; //相同的不保存    $c[$k] = max($b[$k], $v); //不相同保留大的  }else $c[$k] = 'delete';}print_r($c);
Array
(
    [2] => 1234
    [3] => delete
)

$a = array("1"=>"123","2"=>"1234","3"=>"1334");$b = array("1"=>"123","2"=>"1230");$c = array();foreach($a as $key=>$val){if(isset($b[$key])){if($val!=$b[$key]){$c[$key] = $val>$b[$key]? $val : $b[$key];}}else{$c[$key] = 'delete';}}print_r($c);

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.