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

时间:2015-06-03 20:43:18

标签: php arrays multidimensional-array substring

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

有时候一些字符串很长。我想截断每个字符串,让我们说75个字符,这将使字段更易于管理。

是否有一个简单的PHP函数来执行此操作,还是应该像这样创建一个双循环?

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

使用mb_substr

mb_substr($field, 0, 30);

其中0是开头,30是结尾,30可以是你想要的任何东西,输出的长度。

答案 2 :(得分:1)

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

多维数组也有array_walk_recursive()