私は PHP を使用しており、(mysql db から) 配列にあるデータを表示したいと考えています。問題は、最初の列が常に同じ長さであるとは限らないことです。そのため、最初の列に短い文字列を含む一部の行はすべて適切に配置されますが、大きな文字列を含む行では、2 番目の列がより右に配置されます。配列は次のようになります。
$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
誰にもこれに対する解決策がありますか?