0 レビュー
1 回答
Foreach配列PHPのIfElseに挿入
質問:$Currentがすべての$subsと一致しない場合に$Currentを挿入します。
foreach ($array1 as $index=>$Current){
foreach ($array2 as $key=>$subs){
echo "\nCurrent: ".$Current; //get current
echo "\nsubs: ".$subs; //get subs
if ($Current== $subs){
echo "\n++++++\n";
} else{
echo "\n=====\n";
$sql = "INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (".$userid.",".$other_array [$index].",".$Current.")";
echo "\n".$sql;
}
}
}
実際の出力は次のとおりです。
Current: 1
subs: 9
=====
INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (1,1,1)
Current: 1
subs: 11
=====
INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (1,1,1)
Current: 1
Subs: 1
+++++
期待される出力は、currentとsubsが異なることを比較した後、Insertsqlを実行する必要があります。これは次のようになります:
Current: 1
subs: 9
=====
Current: 1
subs: 11
=====
Current: 1
Subs: 1
+++++
// EXECUTE THIS AFTER COMPARING ALL Current and subs ***
INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (1,1,Current)
では、foreachループをどのように書く必要がありますか?または、foreachを使用するべきではありませんか?
助けてください。ありがとうございます。
わからない
0
レビュー
答え :
解決策:
私が正しく理解している場合は、$ Currentをループし、$Currentが$subsに存在しない場合は、データベースに挿入します。
次のようにin_array
関数を使用してみてください。
foreach($ array1 as $ index => $ Current){
if(!in_array($ Current、$ array2))
エコー"\n ===== \ n";
$ sql = "INSERT INTO` #__table`(user_id、cat_id、subs)VALUES("。$userid。"、"。$other_array [$ index]。"、"。$Current。") ";
echo"\n"。$sql;
}
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。