看板 PHP 關於我們 聯絡資訊
<?php $arr1 = array(1, 2, 3, 4); $arr2 = array(3, 6, 7); if (checkHasSameValue($arr1, $arr2)) { echo "arr1, arr2 has same value"; } function checkHasSameValue($arr1, $arr2) { foreach ($arr1 as $val1) { foreach ($arr2 as $var2) { echo "checking $var1, $var2\n"; if ($var1 == $var2) { return true; } } } return false; } ?> $arr1和$arr2有相同的元素3, 但是卻沒印出 "arr1, arr2 has same value", checkHasSameValue echo 出的訊息是 checking , 3 checking , 6 checking , 7 checking , 3 checking , 6 checking , 7 checking , 3 checking , 6 checking , 7 checking , 3 checking , 6 checking , 7 代表第二個foreach找不到第一個foreach的$var1, 有點搞不懂為什麼會抓不到$var1, 既然是同一個區塊, 那個第二個foreach應該也在$var1的變數範圍裡, 懇請高手解惑, 謝謝. OA -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.104.125
terlin10:因為你打成val1了~XD 06/24 16:21
chrisQQ:雖然離題,不過同樣的功能可以用 array_intersect XD 06/24 16:29
mecumi:哈哈..沒注意到打錯字...感恩 06/24 16:32