我正在使用 PHP,我想显示一些我在数组中的数据(来自 mysql db)。问题是第一列并不总是具有相同的长度,因此虽然第一列中包含较短字符串的某些行都对齐良好,但在具有较大字符串的那些行中,第二列更向右对齐。数组如下所示:
$array[0][0] = "string0gvmdksd";
$array[0][1] = "42134";
$array[1][0] = "string1fges";
$array[1][1] = "234";
$array[2][0] = "string2gvmdksd sgdfsgdfg gffgdfg";
$array[2][1] = "87342";
$array[3][0] = "string3gffd";
$array[3][1] = "34";
我想一个解决方案。获取数组[$i][0]中较长字符串的长度,然后设置一个带有X个空格的变量和一个制表符(X是较长的字符串长度),但这似乎不起作用.
这是我的代码:
function addTabs($input) {
$length = 0;
foreach($input as $entry) {
if(strlen($entry[0])>$length) $length = strlen($entry[0]);
}
return str_repeat(" ", $length)."\t";
}
$data = "";
$tabs = addTabs( $array );
foreach( $array as $entry ) {
$data .= $entry[0] . $tabs . $entry[1] . "\n";
}
echo "<pre>$data</pre>";
但它显示:
string0gvmdksd 42134
string1fges 234
string2gvmdksd sgdfsgdfg gffgdfg 87342
string3gffd 34
有人对此有解决方案吗?