【问题标题】:How to limit string length in a multidimensional array?如何限制多维数组中的字符串长度?
【发布时间】:2015-08-18 06:21:06
【问题描述】:

我有一个包含字符串 ($fulltable) 的二维 PHP 数组,我正在尝试将其放入数据网格 (https://www.datatables.net/)。

有时有些字符串真的很长。我想将每个字符串截断为 75 个字符,这将使这些字段在显示时更易于管理。

是否有一个简单的 PHP 函数可以做到这一点,或者我应该像这样创建一个双循环?

foreach ($fulltable as $row) {
    foreach ($row as $field) {
        // TRUNCATE FIELD HERE
    }  
}

【问题讨论】:

    标签: php arrays multidimensional-array substring


    【解决方案1】:

    您可以使用array_walk_recursive() 来执行此操作并通过引用获取值,例如

    array_walk_recursive($arr, function(&$v){
        $v = substr($v, 0, 75);
    });
    

    【讨论】:

      【解决方案2】:

      使用mb_substr:

      mb_substr($field, 0, 30);
      

      0 是开始,30 是结束,30 可以是任何你想要的,输出的长度。

      【讨论】:

        【解决方案3】:

        array_map()array_walk() 会将函数应用于数组的内容(一维),并且可能比使用 foreach 循环更快。

        还有array_walk_recursive()用于多维数组。

        【讨论】:

          猜你喜欢
          • 2017-11-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-21
          • 2011-01-09
          • 1970-01-01
          • 2011-04-19
          • 1970-01-01
          相关资源
          最近更新 更多