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

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

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

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

Q&A

解決済

1回答

1192閲覧

php・変数名をキーとした連想配列の作成

yuuyu

総合スコア1139

PHP

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

0グッド

0クリップ

投稿2020/10/29 16:31

実現したい事

簡単にjavascriptで記述すると以下の動作をするphpを記述したいです。

js

1var a = 50; 2var b = 30; 3var arr = {a,b}; // {a: 50, b: 30}. arrの作成

上記のように、変数名がそのまま連想配列のキーとなる変数を用いたいのですが、これを実装できるphpは記述できますでしょうか?

compactについて

一応、上記に該当する関数としてcompactを発見しました。
ただこの関数は、変数を直接代入するのではなく、変数名を文字列で渡し、それを連想配列化するというもので、
他の方法がなければこれしかないのですが、エディタの予測変換で出てこず、また一括編集等も出来ないので、使い勝手があまりよくないのでは、といった印象でした。

質問

変数名を直接キーとした連想配列を作成する方法、もしくは不可能な場合は、エディタの予測変換等で少し作業しやすくなるような記述方法があれば教えていただきたいと思っています。

環境

php 7.4
(laravel 8.11)

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

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

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

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

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

hentaiman

2020/10/29 17:29

予測変換を中心に考えているからおかしいだけな気がしますが、予測変換に頼るのをやめてみてはどうですか?phpはvim一択でOK
m.ts10806

2020/10/29 23:49

記述をどうしても少なくしたいならPHPではなくRuby on Railsに移行したほうが良いかと。 PHP,Javaはどうしても記述量は多くなります。
yuuyu

2020/10/30 05:07

> 予測変換を中心に考えているからおかしい 予測変換に頼るのはおかしいのでしょうか。打ちミスによるバグを生まないためにも予測変換が出来るエディタを使う、というのは初心者の人には伝えるような気がしますが、初心者を抜けるとそういうのではなくなるのでしょうか…?(単純な疑問です) > 記述をどうしても少なくしたいなら いえ、今回は予測変換での記述を考えていたため、コードの分量に関しては特に問うていません。 > やってほしいことだけを記載した丸投げの質問 低評価をされた方へ。すみませんが今回の質問内容にて、第一視点からみるとそういう質問ではないと判断し投稿しました。具体的に質問内容として何が足りなかったのか教えていただけないでしょうか。
hentaiman

2020/10/30 05:24

> 予測変換に頼るのはおかしいのでしょうか。 頼るのは良いんですよ、自分も言語によってコード補完機能使いますしね。 ですが > 他の方法がなければこれしかないのですが、エディタの予測変換で出てこず、 と言ってるので、予測変換出来る事を基準に考えるから疑問を感じて進めない試せないように思えたので、頼るのをやめてみたら?という意見です。 > > やってほしいことだけを記載した丸投げの質問 低評価しましたが、課題が含まれていない意見だったかもしれませんね。 もしくはアンケートのような質問か
yuuyu

2020/10/30 05:35

> 予測変換出来る事を基準に考えるから疑問を感じて進めない試せないように思えた 確かにそうですね。他にはvscodeだと変数にカーソルを置くと使用されている箇所がハイライトされるのに対し、文字列で置いてしまうとハイライトされないので、ここでこの変数が使用されている、というのがぱっと見で気づかない可能性もあるので、できれば予測変換できないだろうか、という感じでした。 > 課題が含まれていない意見だったかもしれませんね。もしくはアンケートのような質問か 今回の質問は、回答としてnoを予測(仮に簡単に実装できる場合、compactという関数は必要ないですし)し、それを質問したためにアンケートのようになってしまったのかもしれません。その点はもう少し意図が見える質問になるよう改善に努力します。
guest

回答1

0

ベストアンサー

php では

php

1$a = 50; 2$b = 30; 3$arr = ["a" => $a, "b" => $b,];

と固定で記述するのが普通だと思います。

投稿2020/10/29 21:23

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yuuyu

2020/10/30 00:49

回答ありがとうございます。 やはり文字列固定で記述が普通なのですね。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問