【问题标题】:How To Group and Sort Array element base Specific Character [closed]如何对数组元素基特定字符进行分组和排序
【发布时间】:2019-04-29 13:06:20
【问题描述】:

我有一个这样的数组:

array("10", "1001","12", "1201","1002", "1202","120101", "120201","13");

我需要在 PHP 中使用循环来排序和分组,以输出值的两个字符,如下所示:

-10 --1001 --1002 -12 --1201 --- 120101 --1202 --- 120201 -13

谢谢!

【问题讨论】:

  • 请阅读How to Ask。我们希望您在这里做更多的事情,而不仅仅是“放弃”您的要求。
  • 对不起,我编辑问

标签: php arrays


【解决方案1】:

您可以通过字符串比较使用usort,并为每个元素添加前缀str_repeat

考虑:

$arr = array("10", "1001","12", "1201","1002", "1202","120101", "120201","13");

usort($arr, "strcasecmp"); // sorting the array by string and not array
function addPre($v) {
    $mul = strlen($v) / 2; // check the string size and divided by 2 as your example
    return str_repeat("\t", $mul - 1) . str_repeat("-", $mul) . $v;
}

foreach($arr as $e)
    echo addPre($e) . PHP_EOL;

参考:str-repeatusort

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    相关资源
    最近更新 更多