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

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

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

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

JavaScript

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

Q&A

解決済

2回答

323閲覧

jsでphpのユーザ設定情報を読むには

chintao1224

総合スコア155

PHP

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

JavaScript

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

0グッド

1クリップ

投稿2018/01/14 12:10

編集2018/01/14 12:10

phpで設定ファイルを作って、jsで設定を読むことをしたいです。

何故かjsでエラーが出ているらしく、画面が白くなってしまいます。

php

1<?php 2 $user = array(0=>'', 1=>'ユーザ1', 2=>'ユーザ2', 3=>'ユーザ3'); 3?>

js

1var users[]; 2users[0]=<?php echo $user[1];?>; 3users[1]=<?php echo $user[2];?>; 4users[2]=<?php echo $user[3];?>;

jsのコードが間違っているんでしょうか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

質問文のJavaScriptコードを下記のようにしてみてはいかがでしょうか。

JavaScriptでvar users[];で配列は作れません(質問文のタイプミスでしょうか?)。JavaScripの配列構造が決まっているのであれば、初期化時にvar users = ['文字列','文字列',,,];のように作ったほうが良いと思います。

JavaScripの文字列は'文字列', "文字列"とします。どちらでも同じで、PHPのような変数展開機能はありません。

php

1//... 2 3<script> 4<?php 5 //配列をフィルター 6 $user = array_filter($user, function($val) { 7 return !empty($val); 8 }); 9 //文字列に変換("'xxx','xxx'") 10 $user = "'". implode("','", $array) ."'"; 11?> 12 13//var users出力 ['xxx','xxx'] 14var users = [<?php echo $user; ?>]; 15 16</script> 17</body>

質問文のJavaScriptに忠実に書くなら下記のような方法かと思います。

php

1//... 2 3<script> 4//var users = new Array() と同じ 5var users = []; 6 7var users[0] = '<?php echo $user[1] ?>'; 8var users[1] = '<?php echo $user[2] ?>'; 9var users[2] = '<?php echo $user[3] ?>'; 10 11<?php 12/* 13 //ループで書く方法 14 for ($i=0, $j=0; $i<count($user); $i++) { 15 if (!empty($user[$i])) { 16 echo 'users['. $j .'] = \''. $user[$i] .'\';'; //users配列に格納 17 $j++; 18 } 19 } 20*/ 21?> 22</script> 23</body>

投稿2018/01/14 13:04

Tomak

総合スコア1652

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

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

chintao1224

2018/01/14 13:57

うまくいきました。ありがとうございました。
guest

0

こんにちは

以下のように、 <?php .. ?>" でくくってみるといかがでしょうか?

修正前:

php

1users[0]=<?php echo $user[1];?>; 2users[1]=<?php echo $user[2];?>; 3users[2]=<?php echo $user[3];?>;

修正後:

php

1users[0]="<?php echo $user[1];?>"; 2users[1]="<?php echo $user[2];?>"; 3users[2]="<?php echo $user[3];?>";

投稿2018/01/14 12:14

jun68ykt

総合スコア9058

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

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

chintao1224

2018/01/14 13:57

うまくいきました。ありがとうございました。
jun68ykt

2018/01/14 13:58

解決されたようで、よかったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問