<?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
06/24 16:21, 1F
→
06/24 16:29, , 2F
06/24 16:29, 2F
→
06/24 16:32, , 3F
06/24 16:32, 3F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
154
159