我可以从OR
循环
foreach
if (isset($_POST['size'])) {
$where .= ' AND ';
$s = $_POST['size'];
$end = count($s);
foreach ($s as $ss) {
$where .= 'pSize=' . $ss;
$where .= ' OR ';
}
} else {
$s = '';
}
答案 0 :(得分:2)
根据您的情况,我认为您可以轻松使用IN
。
if (isset($_POST['size'])) {
$size = $_POST['size'];
if($size){
$where .= ' AND `pSize` IN ('.implode(",", $size).')';
}
}
答案 1 :(得分:1)
这也适用于您的情况:
AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject intent = currentActivity.Call<AndroidJavaObject>("getIntent");
bool hasExtra = intent.Call<bool> ("hasExtra", "arguments");
if (hasExtra) {
AndroidJavaObject extras = intent.Call<AndroidJavaObject> ("getExtras");
arguments = extras.Call<string> ("getString", "arguments");
}
答案 2 :(得分:0)
避免该问题的一种方法是创建一个数组并进行内爆。
<?php
$to = 'somenath@gmail.com';
$subject = 'Testing sendmail.exe';
$message = 'Hi, you just received an email using sendmail!';
$headers = 'From: myid@gmail.com' . "\r\n" .
'MIME-Version: 1.0' . "\r\n" .
'Content-type: text/html; charset=utf-8';
if(mail($to, $subject, $message, $headers))
echo "Email sent";
else
echo "Email sending failed";
?>
也许你需要在Where的括号,我为你做了。
注意SQL注入,使用预处理语句。
答案 3 :(得分:0)
你可以采取多种方式 方式1: 你可以去for循环而不是foreach()
$a=sizeof($s);
$x=$a-1;
for($i=0;$i<$a;$i++){
if($i==$x){ $where .= 'pSize=' . $ss;
}
else{ $where .= 'pSize=' . $ss;
$where .= ' OR ';
}
}
way2:使用rtrim()
foreach ($s as $ss) {
$where .= 'pSize=' . $ss;
$where .= ' OR ';
}
$where=rtrim($where,' OR ');
答案 4 :(得分:0)
有很多方法可以做到这一点。你甚至可以使用for循环。如果您更喜欢foreach循环,可以创建一个迭代器变量来模仿for循环,如下所示:
if (isset($_POST['size'])) {
$where .= ' AND ';
$s = $_POST['size'];
$end = count($s);
$i = 0;
foreach ($s as $ss) {
$where .= 'pSize=' . $ss;
if (++$i != $end)
$where .= ' OR ';
}
} else {
$s = '';
}