[請益] 巢狀foreach

看板PHP作者時間14年前 (2011/06/24 16:14), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
<?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

06/24 16:21, , 1F
因為你打成val1了~XD
06/24 16:21, 1F

06/24 16:29, , 2F
雖然離題,不過同樣的功能可以用 array_intersect XD
06/24 16:29, 2F

06/24 16:32, , 3F
哈哈..沒注意到打錯字...感恩
06/24 16:32, 3F
文章代碼(AID): #1E14TEJR (PHP)
文章代碼(AID): #1E14TEJR (PHP)