問題
現在「関数の引数で2つ以上の要素を配列として与えられ、その要素間の間隔を求める」というプログラムを作成しています。そこで、引数として与えられた配列の要素のn番目と、その1つ下の要素を引く処理ができなくて困っています。
実現したいこと
php
1functuon span($array) { 2// 該当の処理 3} 4 5span($array = [2, 6, 11, 23, 30]); 6この場合 6-2 //4 7 11-6 //5 8 23-11 //12 9 30-23 //7
このように出力させたいです。
ソースコード
php
1 function span($array) { 2 for($n = 0; $n < count($array); $n++) { //引数の要素数の分繰り返す 3 return $array[$n] - ($array[$n] - 1). "\n"; 4 $lead = array_splice($array, 0, 1); //余分な最初の要素を取り除く 5 $arr[] = $lead; //$leadを配列$arrのなかに入れる 6 print_r($arr); //配列$arrを表示する 7 } 8 }
試したこと
php
1return $array[$n] - ($array[$n] - 1). "\n"; 2($array[$n] -1)この処理で$nから1を引こうとしていますが、Undefined offset: -1 3と表示されてしまいます。
php
1return $array[$n] - ($array[$n-1]). "\n"; 2($array[$n-1])この処理でも$nから1を引こうとしていますが、またUndefined offset: -1 3と表示されてしまいます。
以上です。
もしわかる方がいらしたらご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/24 10:50