ホームページ  >  記事  >  バックエンド開発  >  PHP [配列比較出力] ソリューション

PHP [配列比較出力] ソリューション

WBOY
WBOYオリジナル
2016-06-13 12:16:57799ブラウズ

php [配列比較出力]

<br />$array1=array("1","2","3","4","5","6");//此数据值固定。<br />$array2=array("1","3","6","4");//此数据值不固定。<br />

達成効果:
array2とarray1を比較した後、array2が持たない値は0に置き換えられます。
結果:
1,0,3,4,0,6

達成方法
-----ソリューションアイデア-------- ---------------
<br />$arr = array();<br />$x;<br />foreach($array2 as $k => $v) {<br />    x = array_search($v,$array1);<br />     if (x) {<br />        $arr[$k] = $v;<br />    } else {<br />        $arr[$k] = 0;<br />    }<br />}<br />

------解決策のアイデア----------- - ----------
$array1=array("1","2","3","4","5","6");//此数据值固定。<br />$array2=array("1","3","6","4");//此数据值不固定。<br />$arr = array();<br />foreach($array1 as $v){<br />	$arr[] = in_array($v, $array2) ? $v : 0;<br />}<br />print_r($arr);

-----ソリューションのアイデア----- -- ----

引用
#1
$arr = array();
$x;
foreach($array2 as $ k => $v) {
x = array_search($v,$array1);
if (x) {
$arr[$k] = $v;
} {
$arr[$k] = 0;
}
}

array_search() は、最初のキーが一致した場合のキー名を返します。 0、判断が存在しない場合、ここに問題があります
-----解決策のアイデア----------------------
phpにはarray_diffという配列比較関数があります。
------解決策のアイデア----------------------
はい、array_diff を使用できます
$a = array("1","2","3","4","5","6");<br />$b = array("1","3","6","4");<br />$c = $a;<br />foreach(array_diff($a, $b) as $k=>$v) $c[$k] = 0;<br /><br />print_r($c);
Array<br />(<br />    [0] => 1<br />    [1] => 0<br />    [2] => 3<br />    [3] => 4<br />    [4] => 0<br />    [5] => 6<br />)<br /><br />

-----解決策のアイデア----------------------
<br />$array1=array("1","2","3","4","5","6");//此数据值固定。<br />$array2=array("1","3","6","4");//此数据值不固定。<br />
$c = array_diff($array1, $array2);

foreach($c as $k=>$v){
$array1[$k] = 0;
}

print_r($array1);


配列
(
[0] => 1
[1] => 0
[2] => 3
[3] => 4
[4] => 0
[5] => 6
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。