我尝试在循环中计算元素,使用相同的值,就像我放入我的标题,现在我显示我的小脚本尝试这样做:
$values="1,2,3~4,5,2~7,2,9";
脚本必须以这种方式显示数据:
1,2,3
7,2,9
**具有相同第二元素的第一个元素,其价值通常为第2个,因为它位于第二位**
第一:
4,5,2
其他人
;WITH cte ( userid, [day], activityid, [timestamp] ) AS (
SELECT t.userid, [day] = CONVERT(NVARCHAR, t.timestamp, 101), t.activityid, MAX(t.timestamp)
FROM MyTable t
GROUP BY t.userid, CONVERT(NVARCHAR, t.timestamp, 101), t.activityid
)
SELECT *
FROM cte
WHERE cte.activityid = 2
我尝试在二分法之间验证第二个位置,因为它的值我想要内部循环计数的证书,而爆炸字符串,实际上给出错误的值,我认为它是坏的,因为没有得到真正的或正确的值,我不知道是否有可能这样做或与其他脚本或改变这个
的东西感谢问候
答案 0 :(得分:0)
$values="1,2,3~4,5,2~7,2,9";
$values=explode("~",$values);
foreach($values as $key => $expt) {
$expit=explode(",",$expt);
$search_value = $expit[1];
$matched=array();
foreach($values as $key2 => $expt2) {
if($key !== $key2) {
$expit2=explode(",",$expt2);
if($expit[1]==$expit2[1]) {
$matched[] = $expit[1];
}
}
}
}
array_unique($matched);
foreach($matched as $match) {
$counter = 0;
$no_matches = array();
echo "<br />Matching on digit ".$match;
foreach($values as $key3 => $expt3) {
$expit3=explode(",",$expt3);
if($match == $expit3[1]) {
echo "<br />".$expt3;
$counter++;
} else {
$no_matches[] = $expt3;
}
}
echo "<br />Total number of matches - ".$counter;
echo "<br />Not matching on digit ".$match;
foreach($no_matches as $no_match) {
echo "<br />".$no_match;
}
}
输出:
匹配数字2
1,2,3
7,2,9
比赛总数 - 2
数字2不匹配
4,5,2