$a などの文字列の配列が与えられた場合:
$a = array("zero", "one", "cat");
$a からの値を「対角線に沿って」入力した配列 $b を作成しようとしています。
$b[0] = ["zero", "-", "-"]
$b[1] = ["-", "one", "-"]
$b[3] = ["-", "-", "cat"]
これまでのところ、私は持っています:
function matrix($m, $n, $value) {
return array_fill(0, $m, array_fill(0, $n, $value));
} // create a matrix (m,n) of $value
$a = array("zero", "one", "cat");
$b = matrix(count($a),count($a),"'-'"); // create $b, filled with '-'
for($i = 0; $i < count($a); $i++){
$b[$i][$i] = $a[$i];
} // fill matrix b with strings from a, along the diagonal
print_r($b);
実際には $a は非常に大きくなるため、サーバーが停止する可能性が最も低い方法を探しています。
(私が 8 歳であるかのようにバージョンを説明していただければ、さらに感謝いたします。)