PHP では、配列は非常に一般的なデータ型であり、配列の組版では、位置合わせ操作を実行する必要がある場合があります。以下では、いくつかの側面から PHP 配列を位置合わせする方法を紹介します。
printf または sprintf 関数を使用して出力形式を制御します。どちらの関数にも同じパラメータ、つまりフォーマット文字列があります。フォーマット文字列で % プレースホルダーを使用して次に出力される変数を表し、出力を揃えるためにコンマを使用して実際のパラメーターを区切ります。
例:
<?php $items = array( array('name' => 'apple', 'price' => 10, 'count' => 3), array('name' => 'banana', 'price' => 15, 'count' => 2), array('name' => 'orange', 'price' => 8, 'count' => 4) ); foreach($items as $item){ printf("%-10s%5d%5d\n", $item['name'], $item['price'], $item['count']); } ?>
上記のコードは次のように出力します:
apple 10 3 banana 15 2 orange 8 4
このうち、s の 10 は出力文字列の長さを表し、- 記号は左を表します。アライメント; ] を表します 出力される数値の長さが 5 桁未満の場合は前にスペースが付加され、5 桁を超える場合は実際の桁数が出力されます。
PHP の組み込み str_pad 関数も位置合わせ操作を実装できます。 str_pad 関数には 3 つのパラメータがあり、最初のパラメータは位置合わせする必要がある文字列を表し、2 番目のパラメータは位置合わせ後の全長を表し、3 番目のパラメータは埋め込まれた文字列 (デフォルトはスペース) を表します。
例:
<?php $items = array( array('name' => 'apple', 'price' => 10, 'count' => 3), array('name' => 'banana', 'price' => 15, 'count' => 2), array('name' => 'orange', 'price' => 8, 'count' => 4) ); foreach($items as $item){ echo str_pad($item['name'], 10, ' ', STR_PAD_RIGHT) . str_pad($item['price'], 5, ' ', STR_PAD_LEFT) . str_pad($item['count'], 5, ' ', STR_PAD_LEFT) . "\n"; } ?>
上記のコードは、前の例と同じ結果を出力します。
大量のデータを型指定する必要がある場合は、テーブル クラス ライブラリを使用する方が良い選択肢になる場合があります。より一般的に使用されるテーブル ライブラリには、PHPExcel や phpMyAdmin などがあります。これらのテーブル クラス ライブラリは、HTML または Excel 形式でテーブルを生成でき、スタイルおよび配置操作もサポートします。
たとえば、PHPExcel の setAlignment 関数を使用して水平方向の配置を設定します。
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
上記のコードは、セル A1 の内容を水平方向かつ中央に配置することを意味します。
つまり、配列の位置合わせ操作は、PHP の printf/sprintf 関数、str_pad 関数を使用するか、table クラス ライブラリを使用して実現できます。どの方法を選択するかは、特定のアプリケーション シナリオと個人の好みによって異なります。
以上がPHP配列を整列させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。