如何限制多维数组中的字符串长度?

How to limit string length in a multidimensional array?

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

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

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

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

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

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

使用mb_substr:

mb_substr($field, 0, 30);

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

array_map() or array_walk() 将函数应用于数组的内容(单维),并且可能比使用 foreach.

循环更快

对于多维数组还有array_walk_recursive()