ベストアンサー phpで左辺が変数でイコールを挟んで右辺に入る値を 2021/12/15 17:32 phpで左辺が変数でイコールを挟んで右辺に入る値を型と呼びますよね? integer string float bool 等 この画像にある $message = $job.$count.”名募集”; の場合等を何型と呼ぶんでしょうか? 画像を拡大する みんなの回答 (4) 専門家の回答 質問者が選んだベストアンサー ベストアンサー noname#263248 2021/12/15 17:41 回答No.1 PHPは型を明示しなくても変数が使えます 明示しない場合は適した型が設定されます 今回は明示していませんが、文字列が含まれておりますので「string」型になったと思います 質問者 お礼 2021/12/16 17:47 ありがとうございます 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (3) dell_OK ベストアンサー率13% (776/5751) 2021/12/16 09:25 回答No.4 右辺は、値とか式とか呼ぶのが一般的だと思います。 その値や式が何型であるとは言うかも知れませんが、 右辺を型とは呼ばないですし、 「右辺に入る値」は値であり、 これも型とは呼ばないと思います。 あくまで、値や式が何型であるかであって、 右辺は関係ありません。 「$job.$count.”名募集”」は、 式であり、その型は、文字列とかstringと呼ばれるものになります。 質問者 お礼 2021/12/16 17:45 ありがとうございます 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 1 _kappe_ ベストアンサー率68% (1606/2337) 2021/12/15 19:53 回答No.3 > phpで左辺が変数でイコールを挟んで右辺に入る値を型と呼びますよね? 値を型とは呼びません。 質問者さんは言葉の使い方を間違えているか、型というものについて何か誤解をしているかであろうと思います。 質問者 お礼 2021/12/16 17:45 ありがとうございます 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 AsarKingChang ベストアンサー率46% (3467/7474) 2021/12/15 17:55 回答No.2 ドット結合は、そもそもStringになります。 確実にINT同士を結合しても帰り値型はSTRINGです。 デバッガー使えばこの手のは、すぐわかりますよ~ 画像を拡大する 質問者 お礼 2021/12/16 17:46 ありがとうございます 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発PHP 関連するQ&A phpから値をとってきて変数に格納するには? phpから値をとってきて変数に格納するにはどうすればいいのでしょう? ちなみにjavascriptはほとんどさわったことのない初心者です。 やりたいことを具体的に説明します。 p.php 「 <?php yy = "test string"; //?(1) ?> 」 js.html 「 <script language="javascript"> var xx; //?(2) </script> 」 最終的に、php内の変数「yy」の内容をjavascriptの変数「xx」にいれたいのです。 よろしくお願いします。 使わなくなった変数に違う値を入れるのはマズイ? CやJAVAのような、厳密な型の存在しない言語(Perl、PHP、Javascriptなど)についての質問です。 プログラミングをしていて、途中である変数が要らなくなることがあります。これを、せっかく宣言したので別の値、それも型が違ったりプリミティブ型の値を入れてたのにオブジェクト型を入れるとか、そういう使い方をすることがあります。 例(Javascriptの場合) $hen = new Array(10); $hen[0] = 0; $hen[1] = 1; . . . for (i=0; i<10; i++) { print $hen[$i]; } //ここで配列henは要らなくなった。変わりに文字列が欲しい。 $hen = "String"; //せっかく変数henがあるので、これを入れ物として使う。 最近、C++の勉強をして、このようなケースで変数名との結びつきが無くなった変数の中身は、存在はするがアクセスする手段を失った「ゴミ」となるということを知りました。多くの言語も、同じような構造だとも知りましたが、同時に「ガベージコレクション」を装備している言語は、プログラムがその値が以降使われないと判断された場合は自動でその変数に割り当てているメモリを開放して処理速度向上を図る・・・とありました。では、例として挙げたケースでは、ガベージコレクションを装備していれば、ゴミは発生するがプログラムが自動でメモリを開放してくれるのでそこまで気にしなくても良い、という解釈で良いのでしょうか?私はPHPが得意なのですが、PHPは標準ではガベージコレクションを装備していないようなので、気をつけてプログラミングしようと思っているのですが。 余談ですが、「変数名と内容が一致しなくなるケースがある($arr = new Array();を後で$arr = "String";とするなど)からやめたほうが良い」という突っ込みはナシでお願いします。その点は承知していますので。 PHPの不等式に変数を使う いつもお世話になります PHPの不等式に変数を使うことは出来ますでしょうか? 例えば $a = 'huga'; $b = 'huga'; if($a == $b){ echo 'hoge'; } 結果 hoge 右辺と左辺の間、不等式を変数にしたいです $a = 'huga'; $b = 'huga'; $c = '==' if($a $c $b){ echo 'hoge'; } 期待する結果 hoge 上のソースはもちろんパースエラーとなり成り立ちません 型変換や考えられるキーワードで検索したのですが、出てきませんでした 下のように strpos()、strstr()等で$cの内容を解析して、条件分岐すれば期待の結果が出せるのは分かります if( strpos($c,'==') !== false && $a == $b){ echo 'hoge'; } (上記で成り立つのは分かります) 教えていただきたい内容は、「不等式を変数で成り立たせる方法」です $c= '=='; PHPに詳しい方お教えいただけると嬉しいです ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム phpのマニュアルの質問です。 phpのマニュアルの見方がいまいち分かりません。 http://www.php.net/manual/ja/function.fopen.php resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ) 上記の例ですと、 ◎「string」「bool」これはどういう意味でしょうか?続くのが必ず変数なのはなぜでしょうか? ◎関数の中の引数の[ ]大カッコは何を意味してるでしょうか? 初歩的な質問ですが教えてください。 Stringの値で型キャストしたい(Java) 最近OKWaveでお世話になっています。 表現がおかしいかもしれませんが、Stringの変数の値を使って、型キャストしたいです。 様々なオブジェクトが入る配列(Vector)を使用しているため、VectorをObject型にして使用しています。 配列のある要素をget()したのち、getClass().getSimpleName()でクラス名を取得し、そのクラス名を、 Object obj = array.get(i); String name = obj.getClass().getSimpleName(); if(name.equal("Integer")) { method((Integer)obj); ・ ・ ・ のような形で、場合分けして、メソッドを呼び出しています。 ですが、この方法だと、条件分岐が増えて、見づらいです。 そこで、クラス名を取得したnameをうまく使ってobjを型キャストしたいです。 これを解決させる方法もしくはヒントを教えてください! delphiで、タイマー関数の中で、変数の初期値を入れ、カウントする場合。 delphiで、タイマーで関数を作るとします。 正式な呼び名が分からないのですが、いわゆるTimer1Timerこれです。 1秒ごとに、0からカウントする機能をつけたいのですが、変数の型を宣言する所に、変数を入れると、注意されます。 下記の方法だと、変な値が入ります。 関数の中に入れてしまうと、最初に入れた値に、毎回初期化されてしまいます。 こんな事を考慮に入れていない訳がないと思うのですが、当方に知識としてありません。 どうか、よろしくお願いします。 あ、もちろん、グローバル変数や、外部から持ち込むのは、やり方として分かるのですが、それが正統的なやり方ですか? label3に0を入れて、読み取って、1足して、label3に返して・・・の繰り返し、とか。 procedure TForm1.Timer1Timer(Sender: TObject); var Count : Integer ; begin Count := Count +1 ; //Inc(Count,1); label2.Caption := IntToStr(Count) ; end; REQUEST_URIなどの環境変数の値を見たい REQUEST_URIやQUERY_STRINGなどの環境変数の値を直接確認したいです。 しかしphpなどの言語でなくlinuxの命令やapacheのディレクティブで出力するなどで知る方法はないでしょうか。 またphpでREQUEST_URIなどを確認した場合それはapacheのディレクティブ処理時の値と同じという保証はあるのでしょうか。 もう一つ、apacheをローカルで動作させている場合REQUEST_URI中でQUERY_STRINGに相当する部分が無いということはありうるでしょうか。 どれか一つでも助言頂けると助かります。 iと言う変数の値が1から10の間にないならば 「iと言う変数の値が1から10の間にないならば」、としたいのですが どのようなコードを書けばいいのでしょうか? Sub test1() Dim i As Integer i = 11 If 1 < i < 10 Then MsgBox i & "は1から10の間にはありません" End If End Sub だと、メッセージが表示されてしまいます。 Pythonの変数等について Pythonで以下のコードについておしえてください 1,2,3、4について この右辺と左辺をあわせたものは変数ですか?それともどちか片方だけが変数ですか? 5について 5,print("支払金額は" + str(total_price) + "円です") カッコの中は引数ですよね? 引数の中にstr(total_price)という関数が入っているということですか? 1,apple_price = 200 2,kazoeru_kazu = input("りんごの数を入力してください") 3,count = int(kazoeru_kazu) 4,total_price = apple_price * count 5,print("支払金額は" + str(total_price) + "円です") PHP 変数の初期化について教えてください PHPを勉強中の者です。他のプログラム言語の使用経験は一切ありません。 PHPにおいては変数の初期化は絶対に必要ではないということで、今まで特に気にすることは無かったのですが、マニュアルにもあるように初期化することは良い習慣とのことで正しい初期化を知りたく質問させていただきます。 他のプログラムにおいては最も最初に解決すべき部分であり、恥を晒すようですが、なにとぞアドバイスをいただけたらと思います。 以下質問になります。 ---------------------------------- 1.私の解釈では変数の初期化とは、変数の型を決め初期値を入れる、と認識していますが、これは正しいのでしょうか。 2.Javaの参考書で変数の部分を読んでみたところ、型を決めただけでは初期化とはいわず、型決めと初期値を入れた工程(工程ってのもおおげさかもしれませんが)が初期化と記載がありました。 PHPにおいては型の宣言は不要とのことで下記のように記載すれば型及び初期値が決まると解釈していますが、この解釈は正しいのでしょうか? $a = 1; //これは整数 $d = 1.1 //これは浮動小数点 $b = "aa"; //これは文字列 $c = true; //これは論理値 $a = array(); //これは配列 3.他の参考になりそうなサイトで配列を代入する変数を初期化する場合として下記のような記載がありました。 unset($a); $a = array("aa", "bb"); unsetは変数を解放するためのものであり、私だったらこの場合の初期化として $a = array(); を書く方が適しているように思いますが、配列を代入する変数を初期化する場合、上記サンプルと私の考えとどちらが正しいのでしょうか? 4.変数を初期化するタイミングについて 質問のために、サンプルコードを書きました。まず下記サンプルを見てください。 ※このサンプルコードはformエリアからの入力値によって計算を行なうものと想定して下さい。値を受けた後の処理工程を記載しています。また、受ける値の正当性チェックについて省いています。 (1)(2)については質問箇所です。 (1) if(isset($_GET['send'], $_GET['int1'], $_GET['int2'])){ (2) $a = $_GET['int1']; $b = $_GET['int2'] }else{ exit; } $c = $a + $b; echo $c; サンプルコードは以上となります。仮にこういうコードがあったとして、初期化するタイミングがわかりません。コード中に(1)(2)と番号を振りましたが、個人的にこの2箇所のどちらかで初期化すればよいだろうと思い込んでいますが、こういうコードの場合、どの部分で初期化した方がいいのでしょうか? ---------------------------------- 質問は以上となります。 何卒宜しくおねがいします。 Flash 変数宣言 これまた超基本的な事ですが、 Flash(AS3)で変数宣言をする際の記述方法について質問させてください。 現在自分がやっている方法では、変数宣言する際 --------------------------------------------------------- var hensu:String = "あいうえお"; --------------------------------------------------------- としていて、これを例えばrootから ムービークリップ「mc」内に変数「hensu」を作る場合 --------------------------------------------------------- mc.hensu = "あいうえお"; --------------------------------------------------------- としています。これで特に問題ないのですが、 値を何も入れず、とりあえず変数だけ用意しておく場合、 rootに変数を作る時は --------------------------------------------------------- var hensu:String = new String(); --------------------------------------------------------- としています。また、 --------------------------------------------------------- var hensu:String; --------------------------------------------------------- だけでも、変数が作成されているよう?なのですが・・・ trace()で調べると new String()の場合は値が"空白"(何も表示されない) hensu:String;の場合は"null"になります。 という事はどちらの場合でも単純に変数だけ作るのであれば これで機能していると考えてもよいのでしょうか? この"空白"と"null"の違いを理解したいです。 また、rootからムービークリップ「mc」内に変数「hensu」を作る場合として、 --------------------------------------------------------- mc.hensu = new String(); --------------------------------------------------------- とすれば、大丈夫ですが --------------------------------------------------------- mc.hensu:String = new String(); --------------------------------------------------------- や --------------------------------------------------------- mc.hensu:String; --------------------------------------------------------- ではエラーが出ます。 root上に変数を作る時の --------------------------------------------------------- var hensu:String = new String(); --------------------------------------------------------- や、別の場所に変数を作る場合でも --------------------------------------------------------- mc.hensu = new String(); --------------------------------------------------------- では問題ないのに、 ●●●.変数:型 = new 型(); の形にするとエラーが出るのはなぜなのでしょうか? (記述方法が間違っているといわれればそれまでですが・・・) PHPの質問:フォームから受け取った値がNULL あまりに基本的過ぎるのか、検索しても、参考書を読んでも分かりませんでした。 ■やりたいこと index.htmlのフォームで入力した値を、output.phpで変数$nameとして受け取りたい。 (この後$nameをstrstr関数の引数として使いたい) ■作ったソース 【index.html】 <form action="output.php" method="post"> <input type="text" name="name"> <input type="submit" value="入力"> </form> 【output.php】 <?php $name = $_POST['name']; var_dump($name); ?> ■困っていること output.phpをブラウザで開くと、以下の通りに表示されます。 string(4) "abcf" しかし、ブラウザで「ソースを表示」すると、[NULL]となってしまいます この変数$nameは、strstr関数の引数として使いたいのですが、 そこで値がNULLのため、上手くいきません。 ■お聞きしたいこと (1)フォームから受け取った値をvar_dump()を使い、ブラウザのソース表示をすると NULLになるのは、そういった仕様なのなのでしょうか? (2)フォームからの値を変数に格納する際、何か注意する点があるのでしょうか? 何か根本的なことから理解していないようでお恥ずかしいのですが、 教えて頂けると大変助かります。 よろしくお願いいたします。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム C++にてtemplateで受け取った任意の型の変数が何型であるかを判定したい 環境:VisualStudio2005, WinXP 以下のようなことは可能でしょうか? ・ある型の変数をそれが何型であるかを判定→例えばintとかcharとかchar *とか 概念としてはこんな感じです。 template<class Type> void func( Type a ) { // 型を判定 switch( GetTypeChack(a) ){ case BOOL: case INT: case CHAR: case FLOAT: ・ ・ } } 基本に戻って、型について考えてみる すいません。 サーブレットの所で質問なんですけれども、 戻り値の型が基本型やString型の場合だったら、 変数にどんな値が格納されているのかイメージしやすいんですけれども(例えばすぐ下の例の場合ですね)、戻り値の型がString型以外の参照型の場合には、戻り値が具体的にどのような値になっているのかイメージできなくて困っています。 String str1=br.readLine(); int num1=Integer.parseInt(str1); 例えばenumeration型。 一体この型はどんな型?っていう質問もへんなんですけれども、この型の変数がさしている値というのは具体的にいうとどう表現できるのでしょうか? 基本型やString型は本当に分かりやすいのですけれど。 あと他にもPrintWriter型だとか、Object型だとか、 なぜかイメージできないんですよね。 Enumeration paramNames = request.getParameterNames(); もしよろしければ教えてください。 お願いします。 PHPとJavaでSHA256の結果を同じにしたい PHPから JavaServletにアクセスするシステムを作っています。 その際にパラメーターの改ざん対策にハッシュを渡すようにしたいのですが PHPでSHA-256でハッシュ化した値と JavaでSHA-256でハッシュかした値が異なってしまいます。 PHPだとハッシュ化する際の秘密鍵を指定する項目がありますが Javaでは見つかりませんでしたので この項目が違うために結果が違うのだと予想していますが Javaが内部的に使っている秘密鍵はどこか取得できるのでしょうか? やりたいこととしてはPHPとJavaで同じハッシュが取得できるようにしたいのですが 良い案とかやり方あったら教えてください。 ◆php string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] ) ◆Java DigestUtils.sha256Hex(string data) わかる方いましたら教えてください。よろしくお願いいたします。 相加平均≧相乗平均が通じない場合・・・ 相加平均≧相乗平均が通じない場合があったと思うのですが忘れてしまいました。 たしか、相乗平均が定数にならない場合だったと思うのですが、 でもって、左辺のグラフと右辺のグラフを書いてみると、 左辺=右辺の場合(グラフが接しているとき)の変数(仮にxとします)の値と、 左辺が最小値をとるときのxの値が異なる・・・と記憶しているのですが、 具体例を忘れてしまいました。 どなたか,具体例と解説をお願いできないでしょうか? JTableで値を右寄せ表示する方法 やりたい事はJTableのカラム内の値を右寄せにしたいだけです。 APIマニュアルのJTableの項の「How to use table」を読むと、 その方法は、設定する値をObjectではなく、Integerオブジェクトに するだけで、右寄せになるとの事。早速やってみたところ、Integer あるいはFloat(多分Double)オブジェクトでも確かに右寄せになりました。 これはこれでいいのですが、それでは、Stringを右寄せにしたい時は どうするの?という疑問が湧きました。どなたか、ご存知の方いらっしゃいますか? また、そういうメソッドが別にあるのならば教えてください。 変数の中に指定した値が何回登場するかを取得したい 変数の中に指定した値が何回登場するかを取得したいのですが どうやら、WorksheetFunction.CountIfは使えないようです。 Sub tset() Dim mystr As String Dim i As Integer mystr = "abcabc" i = WorksheetFunction.CountIf(mystr, "*a*") End Sub とすると、 コンパイルエラーが発生します。 ヘルプを見ると「セルの個数を求めるセル範囲を指定します。」と書いてあることから、変数は指定できないのだと思いますが では、変数の中に指定した値が何回登場するかを取得する場合は、どのようなコードを作成すればいいのでしょうか? 上記の例であれば、 2が返ってきてほしいです。 変数を入れないと永遠とfgetsが続く。 受け付けた変数の値からテキストを読み込むようなページを作っています。 http://sample.jp/index.php?id=20060620001 この要領ですが、これでは他人にid=の値に存在しない値を入力されると永遠にエラーが続いてしまいます。 私のPHPの文法が足りていないと思うのですが期待しない変数の値の場合エラーメッセージ等での対応は出来ないでしょうか? 永遠とその値を信じて頑張っているサーバーがかわいそうです。 回避策を教えてください!! エクセルでpublic変数が使えない! 突然、私のパソコンで、エクセルのpublic変数が使えなくなりました。なぜか、public変数そのものが機能しなくなったみたいです。たとえば、 public a as integer と宣言し、aの値を別のbookに渡して使おうとします。ユーザフォームにCommandButton1を貼り付けて、クリックし、次のイベントプロシージャを実行させ、デバックモードのウォッチ式で、aの値を追跡すると、”あるセルの値”は一旦、aに代入されるのですが、End Subのところで、値が<対象範囲外>、型がemptyとなってしまうのです。 Private Sub CommandButton1_Click() a = ”あるセルの値” End Sub 何か設定が変わってしまったのでしょうか? それまで使っていた、プログラムが使えなくなって困っています。 どなたか、回答よろしくおねがいします。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
ありがとうございます