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

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

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

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

2回答

1107閲覧

+のような記号をインクリメントしたいです

patorioddo623

総合スコア12

変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2021/07/14 21:30

static変数を関数内で定義して、+のような文字列を出力するたびにひとつずつ増やすようなコードを作りたいのですがインクリメントを使ってもうまくいきません。
数値の場合や1という文字列の場合は関数を呼び出す度に次の数値が羅列されていくのですが何かいい方法はあるのでしょうか。
構成は以下のようにしたいです。

php

1<?php 2 3 function printPlus() { 4 static $a = 1; 5 print("{$a}<br>"); 6 $a++; 7 } 8 9 printPlus(); 10 printPlus(); 11 printPlus(); 12?>

この場合は、



と出力されますが、$aに代入する値を+という文字列にして出力していくと、

++
+++
というふうにしたいです。

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

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

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

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

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

m.ts10806

2021/07/14 22:52

法則は見えていますか?
patorioddo623

2021/07/14 23:00

法則というのはstatic変数を使う場合の法則でしょうか?
m.ts10806

2021/07/14 23:02

いえ違います。 変数$aが保持する値と出力したい内容の法則性の話です。
patorioddo623

2021/07/14 23:08

いまいち法則性が理解できていません。どのようなものでしょうか。
m.ts10806

2021/07/14 23:13

$aが保持する数だけ+が出力されてませんか?
patorioddo623

2021/07/14 23:21

$aが保持する数だけというのはどういう意味ですか?
m.ts10806

2021/07/14 23:32

$aが1だったら+は1つ 2だったら+は2つ
m.ts10806

2021/07/14 23:34 編集

私は変数に文字列を保持する必要はないと言っています。 出力内容の調整だけ。まあ文字列連結で足していってもできなくはないでしょうけど、よりシステマチックにという意味で。
patorioddo623

2021/07/14 23:36

なるほど。法則は理解しました。
m.ts10806

2021/07/14 23:38

法則は見つける、なければ作る(考える)のがプログラミングの楽しいところになると思います。 その法則見えればstr_repeatも使えますよね。
guest

回答2

0

まずは私の過去解答を参考にしてみてください。

上記には書いていない『規則性』について書きますね。

(今回はこれが分かっていないと出来ない)

まず、『どのようになればいいのか』を考えましょう。

今回の場合、

関数を呼び出すごとに、

+ ++ +++

と "+" を一行レベルで表示するのですよね。

それでは、この表示部に着目してみましょう。

こういうのは規則性があります。

まずはプラス(+)の個数を一行レベルで見ていきましょう。

1行目: 1個
2行目: 2個
3行目: 3個

ですね。

よくよく見ると、『前回の個数に +1 した個数』ですね。

一行分 = 一回分の関数呼び出し

なので『前回の個数』はどのように保持するべきか。

それには、『引数』や『戻り値』を使えば実装できそうです。

そうすれば、

$a = 1 $a = func( $a ) $a = func( $a ) $a = func( $a )

のようにすればいいだけです。

これなら回数が分かっているのなら、for文でも回せますよね。

基礎部分としてあるのは『道具の使い方』とかです。

道具は使ってこそです。

投稿2021/07/15 04:57

BeatStar

総合スコア4962

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

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

0

投稿2021/07/14 21:42

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

patorioddo623

2021/07/14 22:58

ありがとうございます。 str_repeatを使い出力のたびに一つずつ増えるようにしたいのですがどのように書けばよいのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問