请教 要求x包含y,x按y排序

WBOY
풀어 주다: 2016-06-23 14:38:13
원래의
1277명이 탐색했습니다.

怎么说呢,其实就是要求x包含y,x按y排序

比较x和y两个数组,
如果x长度大于y,则将x数组中多出的键追加到y数组后面
例如:
$x = array(0=>'a', 1=>'b', 2=>'c', 3=>'d', 4=>'e');
$y = array(2=>'c', 4=>'e', 0=>'a');
则结果为 array(2=>'c', 4=>'e', 0=>'a',   1=>'b', 3=>'d');

如果x长度小于y,则先将y数组中多出的键删除
$x = array(0=>'a', 1=>'b');
$y = array(2=>'c', 4=>'e', 0=>'a');
则结果为 array(0=>'a', 1=>'b');


回复讨论(解决方案)

第一问

$x = array(0=>'a', 1=>'b', 2=>'c', 3=>'d', 4=>'e');$y = array(2=>'c', 4=>'e', 0=>'a');$c = array_diff_key($x, $y);$z = $y + $c;print_r($z);
로그인 후 복사

Array(    [2] => c    [4] => e    [0] => a    [1] => b    [3] => d)
로그인 후 복사


第二问不明晰
$x = array(0=>'a', 1=>'b');
$y = array(2=>'c', 4=>'e', 0=>'a');
则结果为 array(0=>'a', 1=>'b'); //这不就是 $x 吗?
看不出与 $y 有什么关系



谢谢。学习了!
差集、交集、并集。。。  我太笨了

$x = array(2=>'c', 4=>'e', 0=>'a');
$y = array(0=>'a', 1=>'b', 3=>'d', 4=>'e');
//要求结果为:array(0=>'a', 4=>'e', 2=>'c');

//先求y x 交集(是yx不是xy)
$jj = array_intersect($y, $x);
//再求x y 差集
$bj = array_diff_key($x, $y);

$z = $jj + $bj;
print_r($z);

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿