php【数组对比输出】解决办法
程序员文章站
2022-04-21 22:46:12
...
php【数组对比输出】
实现效果:
array2与array1对比后array2没有的值用0代替。
结果:
1,0,3,4,0,6
请问怎么实现
------解决思路----------------------
------解决思路----------------------
------解决思路----------------------
array_search()返回的是匹配到的键名,当第一个匹配到,键名是0,if判断就不存在了,这里存在一点问题
------解决思路----------------------
php里面有个数组比较函数 array_diff的呀。
------解决思路----------------------
不错,可以借助 array_diff
------解决思路----------------------
Array
(
[0] => 1
[1] => 0
[2] => 3
[3] => 4
[4] => 0
[5] => 6
)
$array1=array("1","2","3","4","5","6");//此数据值固定。
$array2=array("1","3","6","4");//此数据值不固定。
实现效果:
array2与array1对比后array2没有的值用0代替。
结果:
1,0,3,4,0,6
请问怎么实现
------解决思路----------------------
$arr = array();
$x;
foreach($array2 as $k => $v) {
x = array_search($v,$array1);
if (x) {
$arr[$k] = $v;
} else {
$arr[$k] = 0;
}
}
------解决思路----------------------
$array1=array("1","2","3","4","5","6");//此数据值固定。
$array2=array("1","3","6","4");//此数据值不固定。
$arr = array();
foreach($array1 as $v){
$arr[] = in_array($v, $array2) ? $v : 0;
}
print_r($arr);
------解决思路----------------------
array_search()返回的是匹配到的键名,当第一个匹配到,键名是0,if判断就不存在了,这里存在一点问题
------解决思路----------------------
php里面有个数组比较函数 array_diff的呀。
------解决思路----------------------
不错,可以借助 array_diff
$a = array("1","2","3","4","5","6");
$b = array("1","3","6","4");
$c = $a;
foreach(array_diff($a, $b) as $k=>$v) $c[$k] = 0;
print_r($c);
Array
(
[0] => 1
[1] => 0
[2] => 3
[3] => 4
[4] => 0
[5] => 6
)
------解决思路----------------------
$array1=array("1","2","3","4","5","6");//此数据值固定。
$array2=array("1","3","6","4");//此数据值不固定。
$c = array_diff($array1, $array2);
foreach($c as $k=>$v){
$array1[$k] = 0;
}
print_r($array1);
Array
(
[0] => 1
[1] => 0
[2] => 3
[3] => 4
[4] => 0
[5] => 6
)
相关文章
相关视频