【问题标题】:Global not working / How to sort by property value全局不工作/如何按属性值排序
【发布时间】:2012-03-22 18:14:58
【问题描述】:

谁能解释为什么$property 在函数外是'name' 而在函数内是null?我已经检查过var_dump,但我无法弄清楚为什么这不起作用。那里的 global 关键字不应该把它带进去吗?

$property = $_GET['property']; // 'name'
function cmp($a, $b)
{
    global $property;
    return strnatcmp($a->$property, $b->$property);
}
usort($files, 'cmp');

或者,您有更好的方法吗?

【问题讨论】:

    标签: php function sorting callback global


    【解决方案1】:

    看看这个问题:Errors when using array_push -- "First argument should be an array"

    如果提供的代码在另一个函数(或通过另一个函数包含的文件)中调用,则 $property 不是全局的,因此无法通过

    global $property;
    

    你总是可以做一些更简单的事情,因为 $_GET 已经是全局的了。

    function cmp($a, $b)
    {
        $property = $_GET['property'];
        return strnatcmp($a->property , $b->$property);
    }
    usort($files, 'cmp');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2021-09-18
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      相关资源
      最近更新 更多