如何回显每个var超过$ var?

时间:2016-02-01 10:07:40

标签: php xml

我有

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之后提交的所有用户名。

3 个答案:

答案 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;
    }
}