質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

660閲覧

PHP 配列内の要素間の間隔を求めたい

kotouharuto

総合スコア38

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

1クリップ

投稿2020/05/21 11:11

お世話になります。
現在PHPで「配列内の要素の間隔を求める」というプログラムを作っています。
それについての求め方がわからなかったので質問させていただきました。

やりたいこと

php

1$nums = [1,2,3,4,5]; 2このような配列があったとして、 3echo $nums[1] - $nums[0]; // 1 4echo $nums[2] - $nums[1]; // 1 5echo $nums[3] - $nums[2]; // 1 6echo $nums[4] - $nums[3]; // 1

この処理をfor文などで、配列の要素を増やしても処理を変えずに済むようにしたいです。

試したこと

php

1for($i = 0; $i < count($nums); $i++) { 2 echo $nums[$i] - $nums[$i]. "\n"; 3}

こうすることで「$numsと$numsの$i番目の要素を引く」という処理を$numsの要素分繰り返そうとしたのですが、結果は、00000でした。

その他にも検索したりなどしたのですが、思うような結果が出てこなかったです。
解る方がいらっしゃったら、ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まず、やりたいことから規則性を見つけてみましょう。

PHP

1 2echo $nums[1] - $nums[0]; // 1回目は、1番目から0番目を引く 3echo $nums[2] - $nums[1]; // 2回目は、2番目から1番目を引く 4echo $nums[3] - $nums[2]; // 3回目は、3番目から2番目を引く 5echo $nums[4] - $nums[3]; // 4回目は、4番目から3番目を引く 6

もしも、n回目ならどうでしょうか?

php

1echo $nums[n] - $nums[n-1]; // n回目は、n番目からn-1番目を引く

これをもとにすると以下のforがかけます。

php

1for($i = 1; $i < count($nums); $i++) { 2 echo $nums[$i] - $nums[$i-1]. "\n"; 3} 4

投稿2020/05/21 11:19

編集2020/05/21 11:22
kyoya0819

総合スコア10429

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kyoya0819

2020/05/21 11:26

規則性を見つけた後にコードを書くのは難しいですが、何回も書いていると自然とできるようになります。
kotouharuto

2020/05/21 11:59 編集

ご回答ありがとうございます。 確かに問題解決に注力して大事なことを忘れてしまいました。 この方法でやってみたら行けました! ベストアンサーにさせていただきます!
hentaiman

2020/05/21 12:13

キーは数値限定で良いのかい?数値以外ならこれだと動かないよ
kai0310

2020/05/23 03:49 編集

> こうすることで「$numsと$numsの$i番目の要素を引く」という処理を$numsの要素分繰り返そうとしたのですが、結果は、00000でした。 要件に沿ってるのでは? Re: hentaimanさん
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問