我已經知道問題的原因,不在代碼中... 字段內容分別在每行的基值處分別爲 所以用過str_replace
要刪除的行
$query = $db->query_first("SELECT * FROM table ");
$array1 = explode(",",$query[filed1]);
$array1 = str_replace("\n","",$array1);
$array2 = explode(",",$query[filed2]);
$array2 = str_replace("\n","",$array2);
foreach($array1 as $value)
{
if (in_array($value,$array2))
{
//true
}else{
//false
}
}
我有一個問題,當我檢查if Each value in $array2 the present in $array1 or not
表中的數據:
filed1 | filed2
ahmed,jon,maya,omar | omar,maya
我的代碼:
$query = $db->query_first("SELECT * FROM table ");
$array1 = explode(",",$query[filed1]);
$array2 = explode(",",$query[filed2]);
$length = count($array1);
for ($i = 0; $i < $length; $i++)
{
if (in_array($array1[$i] , $array2))
{
//true
}else{
//false
}
}
或本:
$query = $db->query_first("SELECT * FROM table ");
$array1 = explode(",",$query[filed1]);
$array2 = explode(",",$query[filed2]);
foreach($array1 as $value)
{
if (in_array($value,$array2))
{
//true
}else{
//false
}
}
我的問題是我的代碼不工作很好,我肯定是我的查詢得出的結果和數組了。
輸出數組1的:數組2的
Array ([0] => maya [1] => omar [2] => ahmed [3] => join)
輸出:
Array ([0] => omar [1] => maya)
所以,哪裏是錯在我的代碼?!
注:
我不想check all value from array2 are in array1
,我想check if Each value in $array2 the present in $array1 or not
- 這個詞Each value
不all value
像FOUCS:
if (in_array('omar',$array1))
{
echo 'found';
}else{
echo 'not found'; }
if (in_array('maya',$array1))
{
echo 'found';
}else{
echo 'not found';
} if (in_array('jon',$array1))
{ echo 'found';
}else{
echo 'not found';
}
elc ...
但我不要這樣想,我希望它在循環內。
你的代碼看起來不錯! (兩個版本!)所以檢查你的數組是否有內容,並確保代碼中沒有任何錯誤。 – Bill 2014-09-30 01:54:08
@Billy是啊iam肯定有關數組的結果,我把它放在上面,並且不要顯示任何錯誤 – 2014-09-30 01:56:41
我不是指檢查輸出的錯誤我的意思是必須有一個錯誤(如在,不是你想要的,即使代碼仍然運行)在你的代碼中。這可能是值得通過您的代碼與調試工具,如XDebug – Bill 2014-09-30 01:59:11