【问题标题】:Sort properies inside array对数组内的属性进行排序
【发布时间】:2014-03-21 21:20:53
【问题描述】:

我收到一条错误消息Warning: implode(): Invalid arguments passed in

我要对这里的属性进行排序...

超级简单,但还没有工作...这里需要小调整:

$css = <<<EOF

z-index : 9;
padding: 0;
margin: 0;
line-height: 10px;

EOF;

echo implode ( ';', ( sort ( explode( ';' , $css ) ) ) );

/* Expecting to get :

line-height: 10px;
margin: 0;
padding: 0;
z-index : 9;

*/

几乎不言自明:)...

小调整就可以完成这项工作:)

【问题讨论】:

    标签: php string sorting explode


    【解决方案1】:

    sort 函数返回一个bool。此外,在';' 上爆炸/内爆不会给你想要的东西。尝试改用"\n"

    $arr = explode( "\n" , $css );
    sort($arr);
    echo implode ( "\n", $arr );
    

    如果你想在一行中完成这一切,你可以编写一个自定义函数,如下所示:

    function my_sort($arr) {
        sort($arr);
        return $arr;
    }
    

    然后你可以这样称呼它:

    echo implode ( "\n", my_sort( explode( "\n" , $css ) ) );
    

    【讨论】:

    • 所以基本上我不能在同一行中使用它,所以我必须创建外部函数才能使其在单行中工作?
    • @user3447293 您可以编写一个返回原始数组的自定义函数。请参阅我的更新答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2012-02-20
    • 2010-11-02
    相关资源
    最近更新 更多