我有
public class SomeOuterClass {
public static class Item implements Comparable<Item> {
static long id = 0;
public Boolean isSaved;
public Boolean isLoved;
long mId;
Post post;
public Item(Post p) {
mId = id++;
post = p;
isSaved = Boolean.FALSE;
isLoved = Boolean.FALSE;
}
long getId() {
return mId;
}
@Override
public int compareTo(Item o) {
return Comparators.ID.compare(this, o);
}
public static class Comparators {
public static Comparator<Item> TITLE = new Comparator<Item>() {
@Override
public int compare(Item o1, Item o2) {
return o1.post.title().compareTo(o2.post.title());
}
};
public static Comparator<Item> ID = new Comparator<Item>() {
@Override
public int compare(Item o1, Item o2) {
return (int) (-(o1.mId - o2.mId));//I am putting a minus to indicate list is in descending order
}
};
}
}
private List<Item> items = new ArrayList<Item>();
public Item findByBinSrach(int itemId) {
int index = Collections.binarySearch(items, itemId, Item.Comparators.ID);//Here it is not recognizing the 3rd parameter
return getItem(index);
}}
我如何$room=$_POST['room'];
$lastMTime=$_POST['lastMTime'];
function _getLastMsg($rName, $lMT){
$r=$rName.'.xml';
$rXML=simplexml_load_file($r) or die('Not found');
$rLMT=$rXML->lastMT;
if($lMT<$rLMT){
//some code here
}
}
echo
$rXML->username
$rLMT > $lMT
?
我希望获得在$lMT
之后提交的所有用户名。
答案 0 :(得分:1)
首先确保所有这些变量不应该是数组。当您有多个以相同方式处理的变量时,通常会清楚地表明它们应该是一个数组。
如果不是 - 您可以使用compact
函数将变量名称及其名称和值设置为数组,请阅读the manual on it。通过名称访问变量值的其他方法是variable variables - $$
答案 1 :(得分:1)
可能是您可以尝试此代码
<?php
$var = [11, 10, 20, 30, 40];
for($i=0; $i<count($var)-1; $i++) {
if($var[$i]>$var[($i+1)]) {
echo "var $var[$i] > var ".$var[($i+1)];
}
}
?>
答案 2 :(得分:0)
在示例中使用变量可以执行此操作
$i = 0;
while ($i <= 3) {
$varName = 'var'.$i;
if ($$varName > $var) {
echo $$varName;
}
$i++;
}
但这不是迭代数组的正确方法。还有一百万种其他方法来迭代一堆变量并打印出来,所有这些都不是&#34;对&#34;这样做的方式。在您的示例代码中没有数组,其中应该有一个数组。喜欢这个
$var = 11;
$vars = [10, 20, 30, 40];
# iterate and echo each element of $vars array)
foreach ($vars as $current) {
if ($current > $var) {
echo $var;
}
}