トップページ⇒php
1001コメント331KB

【PHP】下らねぇ質問はここに書き込みやがれ 32

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/11/06(月) 22:07:16ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

【前スレ】
 【PHP】下らねぇ質問はここに書き込みやがれ 31
 http://pc8.2ch.net/test/read.cgi/php/1161733546/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0434nobodyさん2006/11/13(月) 19:29:03ID:rWUh904Q
え
0435nobodyさん2006/11/13(月) 20:32:36ID:???
>>430
戻るでリロードされて想定外の動きをしてるんだろ
0436nobodyさん2006/11/13(月) 20:55:36ID:???
”おかしくなる”につられまくりでおかしくなるw
0437nobodyさん2006/11/13(月) 21:13:03ID:???
どこがどういう風におかしいのか説明できないレベルって事だろ
04384162006/11/13(月) 21:39:10ID:DOnsRJEI
微妙に板違いなのでしょうか?OTZ

いろいろ自分なりに検索してみたけどなかなか見付かりません
コンパイル方法ばっかりで・・・

そういえばもう一パターンありますね。
1、頻繁に使うものだけコンパイル時に組み込んで、たまにしか使わないものは後からphp.iniで読み込む
2、ちょっとでも使うものはコンパイル時に組み込んじゃう
3、コンパイル時はなんにも組み込まないで、全部後からphp.iniで設定する。

どれがいいのでしょうか?
ご意見求む!!
0439nobodyさん2006/11/13(月) 21:44:46ID:???
用途による
Extとしてコンパイルしとけっつか頭使うのが面倒ならディストリのでいいだろ
0440nobodyさん2006/11/13(月) 21:54:40ID:???
レスがないのはスレ違いというわけじゃなくて、どういう条件で
使うのかっていう前提が謎だからだと思うよ。
Apacheの子プロセスが多くてメモリが逼迫するとか、CGIだから
起動が重要だとか・・・どういう要件にかなうようコンパイルしたいの?
0441nobodyさん2006/11/13(月) 21:58:03ID:???
>>438
スレ違いってことはない。
漠然とした一般論を求められるとみんなそこまで
正確には理解してないから回答が面倒くさくなるだけw
0442nobodyさん2006/11/13(月) 22:12:38ID:???
フルオプションのCLIは初回起動が体感的に重いよね
まあ全部削ってもRubyやPerlに比べるとバイナリでかいしメモリ喰ってて重いが
PCNTLでほとんど何もしない常駐プロセス作ったら5MBくらい消費しててワロタ
0443nobodyさん2006/11/13(月) 22:22:58ID:???
確かyahooで使われているPHPについての発表では
基本--disable-allでコンパイルしてアプリの用途に応じて必要なものを
extensionで追加する形をとっているらしいね
おそらく拡張によるメモリなりなんなりを節約するためだと思う
ただそんなレベルでのパフォーマンスチューニングなんて
yahoo並のコンテンツとかなら影響はあるかもしれないけど
普通のサイトで使う分には大して変わらんだろうから気にする程でもない
最初からまとめてコンパイルしてもいいし
php.iniで追加していく形でもどっちでもいいと思う
0444nobodyさん2006/11/13(月) 22:24:52ID:DOnsRJEI
>>439
>>440
>>441
レスありがとうございます。

用途は、自宅サーバーを立ち上げてapacheとphpとpostgreでサイトを作ろうと思ってます。
まだ勉強中ですが、DNSも自鯖でやろうかと思ってます。
とりあえず、マシン一台(CPU=PemD メモリ2G)で立ち上げるつもりです。

私が読んだ本は、apache関係のモジュールとmbstringはたいていコンパイル時に組み込んでいて、後は本によってそれぞれですが、
読み込んでいるのがなんなのかの説明しかなく、
後から読み込むのと、コンパイル時に組み込むのの、利点・欠点を説明しているものは皆無です。

まあ、情報が少ないので、たぶんどっちでもそんなに変わらないのかとも思いますが
ちょっと気になったもので・・・
0445nobodyさん2006/11/13(月) 22:33:21ID:???
>>438
スタティックに組み込むとメモリが無駄になることがある、が速い
ダイナミックにロードするのは遅い、がメモリ効率よし

複雑なサイトになるなら実運用で負荷をみながら試験するしかないと思う
0446nobodyさん2006/11/13(月) 22:35:43ID:???
ウララー!
0447nobodyさん2006/11/13(月) 22:52:33ID:???
>>444
理屈のみで言えばコンパイル時に静的に組み込む方式の方が
速度的には有利な代わりメモリを食う。
ただし無用なものまでなんでもかんでも詰め込むと、プログラムの肥大化と
使用メモリ量の増大のために起動速度が遅くなり、速度的なメリットが減る。
これはPHPに限らず様々なアプリケーションで共通の話。

ただ、PHPはApacheモジュールとして動かした場合、初期起動速度を
稼げるため、静的リンクでもあまり困らないので全部リンクした方が楽。
また、頑張って機能を外しても大して軽くならないほど元々がでかいので
実は動的リンクでのメリットはそれほどは多くない。
それでもPHPは機能が多いので全拡張を合わせるとものすごい分量に
なってしまうので、何でもかんでもくっつけてしまうのは自殺行為だと思う。
また、すでにコンパイル済みのものが用意されてる場合に
あえて再コンパイルした方がいいほど静的リンクにメリットも無い。
一般的には「インストールが楽かどうか」だけで両者を選択してる人ばかり、
というのが現実です。
両極端なことをしない限り、こだわったところでどっちも大差ない、が正直なところ。

ただしものすごく大量のPHPプロセスを起動する場合など
シビアなケースではメモリの消費がバカにならなくなったりするので、
対策を迫られる場合もあるでしょう、ってとこかと。
それはもうチューニングの話なので、現場ごとにTPOがあります。
0448nobodyさん2006/11/13(月) 22:54:16ID:???
>>444
後から動的に機能を組み込めるかどうかをiniファイルで変更出来る
RPMでバイナリ配布する時とか、共有サーバで環境を切り替える時とか
実運用に入った後でPHPをコンパイルし直したくないとか

ダイナミックリンクライブラリは一度メモリ上に読み込まれると、
同時使用するアプリがあれば同一メモリを使用する
apache自体が常駐してるし、最初のオーバヘッド程度しか差は無いんじゃないかな?
0449nobodyさん2006/11/14(火) 06:35:28ID:???
>>444
まずはチューニングとかを考えなければ困ってしまうくらいの
アクセス数を得てから悩んでも遅くないんじゃないの?

俺の予想では、キミの自宅サーバはそのままでも十分にパワーを有り余らせることになると思う。
取らぬ狸の皮算用で速度とか心配するな。
0450nobodyさん2006/11/14(火) 09:17:09ID:???
いまどきのCPUとメモリはすごいから、気にすんなw
うちのセレロン2.4Gで20万PV/dayが楽勝で、能力あり余してるよ。
0451nobodyさん2006/11/14(火) 09:20:41ID:???
>>449
アクセスはたくさんありますけどね。
バカにしないでくれませんか、失礼ですねえせ回答者。
0452nobodyさん2006/11/14(火) 10:18:57ID:???
>>451
>サイトを作ろうと思ってます。
>立ち上げるつもりです。
>アクセスはたくさんありますけどね

これから作る予定のサイトに既にアクセスがあるとは、これいかに。
まずはID出してからモノを言えよ、似非質問者。
0453nobodyさん2006/11/14(火) 10:33:46ID:???
>>451
流れを読めてなかったチンカス偽物乙。いやチンカス以下乙。
0454nobodyさん2006/11/14(火) 11:03:28ID:???
>>451
典型的な阿呆ですね

0455nobodyさん2006/11/14(火) 11:57:30ID:???
とりあえずIDを出していないんだからスルーしても良いだろう。
下らん煽りに反応するな!

おれもなー。
0456nobodyさん2006/11/14(火) 12:05:09ID:liCu6Ubc
配列の内容をデータベースにレコードとして登録したいのですが、
どのようにしたら良いのか分かりません。どうかお教え願いたい
のですが。
PHPは5.05で、データベースはSQLiteを使っています。
0457nobodyさん2006/11/14(火) 12:32:22ID:???
>>456
foreach($array as $data) {
 sqlite_query($conn, "insert into TABLENAME set COLNAME='$data'");
}
でいいんじゃないの?
0458nobodyさん2006/11/14(火) 13:02:55ID:???
>>456
serialize?
0459nobodyさん2006/11/14(火) 13:15:13ID:???
>>455
今度は自治ですか?
せめて文体変えてこいよ
04604562006/11/14(火) 13:46:39ID:liCu6Ubc
>>457
配列名 $value データベース名 word テーブル名 thesaurus
で以下のようにしたのですが、レコード0のままとなってしまい
ました。間違っているのでしょうか?
$db_open=sqlite_open("word");
foreach($value as $val) {
sqlite_query($db_open, "insert into thesaurus set COLNAME='$val'");
}
sqlite_close($db_open);
0461nobodyさん2006/11/14(火) 13:51:07ID:???
>>460
テーブル作ってないんだろ?
0462nobodyさん2006/11/14(火) 13:56:13ID:???
>>460
DBのオープンに失敗してるとか?
エラーチェックしてみてはどうだろう。
0463nobodyさん2006/11/14(火) 13:56:57ID:???
>>460
カラムの名前ってCOLNAMEでいいの?
0464nobodyさん2006/11/14(火) 14:02:07ID:???
INSERTのSET節なんかつかえたっけ?
つか配列をストアしたいってそういう意味であってるのか?
0465nobodyさん2006/11/14(火) 14:06:19ID:???
一気に四つも原因ぽいものが出てきたw
04664562006/11/14(火) 14:29:49ID:liCu6Ubc
まだ何ともいえませんが、原因はこれだろうか。。。
php.ini
;extension=php_sqlite.dll しかし、;をはずすと
'C:/php/ext\php_sqlite.dll'指定されたモジュールが見つかりません と表示
されます。
php.iniでは、extension_dir = "c:/php/ext" としているのですが・・
php/ext をみると、php_sqlite.dllはありませんでした。これがないと
動きませんよね?PHP5なのにこれがないということは、インストール
のときに欠陥があったということでしょうか?
0467nobodyさん2006/11/14(火) 14:32:39ID:???
組み込まれてるからDLL不要
0468nobodyさん2006/11/14(火) 14:33:12ID:???
extension_dir  = ""
c:\windows\にphp_sqlite.dllを放り込んで再起動かな

あれ、PHP5ってデフォルトでサポートしてなかったっけ?

phpinfoで確認してみそ
0469nobodyさん2006/11/14(火) 14:37:01ID:???
普通に落とせばphp_sqlite.dll付いてくるぞ
システムファイル非表示じゃないだろうな
0470nobodyさん2006/11/14(火) 14:38:58ID:???
>>468
今時9x系列はないやろ〜。
04714562006/11/14(火) 14:42:11ID:liCu6Ubc
phpinfoで確認したら"SQLite"が出ました。ということは有効にはなっている
ということですよね。

>>461
テーブルは作ってあります。

sqlite_query($db_open, "insert into thesaurus set COLNAME='$val'");
このとき、もしかして、テーブルの項目名全て指定しなきゃいけなかった
んでしょうか?
0472nobodyさん2006/11/14(火) 14:42:25ID:???
つーかさぁそれならsqlite_query()でUndefine Functionとか言われるですよ
エラー抑止してたらデバッグってレベルじゃねーぞ
0473nobodyさん2006/11/14(火) 14:44:18ID:???
ところで COLNAME='$配列名' なんてありなんかい?w
04744732006/11/14(火) 14:45:10ID:???
勘違い、取り消し
0475nobodyさん2006/11/14(火) 14:49:04ID:???
SqliteのサイトみたらやっぱSET節ないよ
カラムリスト+Valuesしかない
04764562006/11/14(火) 14:54:06ID:liCu6Ubc
では、配列の内容をレコードに書き出すにはどのように記述すれば
よいのでしょうか?
0477nobodyさん2006/11/14(火) 14:58:21ID:???
メソッドの名前に変数を指定することは
可能でしょうか?
0478nobodyさん2006/11/14(火) 15:07:36ID:???
>>476
列に追加していきたいならforeachで回しながらINSERTするだけ
行にまとめたいなら insert into table_name [(col_list, ...)] values('val', ...'); のようなSQL文字列を生成すればいい

>>477
こんなかんじで
$bar = 'myMethod';
$this->$bar();

配列なら $this->{$bar[index]}();
0479nobodyさん2006/11/14(火) 15:11:21ID:???
>>329
考えたら関数を動的に定義するだけのメソッドってのもありえるわ
ごめりんこ
0480nobodyさん2006/11/14(火) 15:27:25ID:???
>>476
だからserializeだっつーの。
せっかくみんながいろいろアドバイスしてくれてるんだから、
その一つ一つについて検討したかとか実行してみたとか、
具体的な返答をしてから新たな質問をしろよボケ。
答えは既にいくつも出てんだよチンカス。
0481nobodyさん2006/11/14(火) 15:30:14ID:???
配列をそのままレコードに保存したいならSerialize()だけど、
配列の内容をって言ってるからなあ。要領得ない質問だから分からんが
0482nobodyさん2006/11/14(火) 15:31:00ID:???
>>477
call_usr_func()とかeval()とかもあるでよ
04834562006/11/14(火) 15:46:20ID:liCu6Ubc
みなさまありがとうございます。とりあえず、再考します。
0484nobodyさん2006/11/14(火) 18:01:16ID:???
>>478
>>482

ありがとうございます。
早速使ってみます
0485nobodyさん2006/11/14(火) 20:20:23ID:???
>>468
あなたの回答じゃ役不足ですよ
0486nobodyさん2006/11/14(火) 22:17:10ID:CEutkM32
下らねぇ質問はここに書き込みやがれスレの元祖スレがみたいのですが
どこかにおちてませんか?
お金払ってまでしてみたくはありません
0487nobodyさん2006/11/14(火) 22:21:21ID:???
【にくちゃんねる】
0488nobodyさん2006/11/14(火) 22:25:37ID:???
初期シリーズは「下らねぇ」じゃなくて「くだらねぇ質問」だった
他にも試験的にくだ質たってたけどそっちはシラネ
0489nobodyさん2006/11/14(火) 22:29:49ID:???
ググレカスについて教えてください。
先日、某スレで質問したところ『ググレカス』と回答を頂きました。
初めて聞いた単語なのでググレカスのもつ動作?役割?意味?がわかりません。
ググレカスとは何ですか?
0490nobodyさん2006/11/14(火) 22:33:15ID:???
>>489
good google less cut spell.
0491nobodyさん2006/11/14(火) 23:09:07ID:???
    / ̄ ̄ ̄ ̄ ̄ ミ          
    /   ,――――-ミ           
  /  /  /   \ |          
  |  /   ,(・) (・) |          
   (6       つ  |          
   |      ___  |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |      /__/ / <   なわけねーよ!
 /|         /\  \____________
04924562006/11/14(火) 23:12:57ID:liCu6Ubc
すいません。やはり、配列の内容をデータベースのレコードへの書き出し方が
分からないので教えてください。

foreachでループしたときの配列 $value
Array ( [0] => ツール [1] => tool [2] => tools )
Array ( [0] => ユーザー [1] => user [2] => ゆーざー )
Array ( [0] => ファイル [1] => file [2] => ふぁいる )

データベース名 word テーブル名 thesaurus
$db_open=sqlite_open("SQLiteManager/word");
foreach($value as $val) {
$encode_val = mb_convert_encoding($value,"EUC-JP","Shift_JIS");
sqlite_query($db_open, "INSERT INTO thesaurus(word,dougigo1,dougigo2,dougigo3,dougigo4,dougigo5,dougigo6)
VALUES ('$encode_val[0]','$encode_val[1]','$encode_val[2]','$encode_val[3]','$encode_val[4]',
'$encode_val[5]','$encode_val[6]')");
}
sqlite_close($db_open);
このようにしたり、他にも少々変更して試してみました。一応、レコードに書き出しては
いるようなのですが、意図したとおりではなく。。。
テーブルにword,dougigo1,dougigo2,dougigo3といったフィールドを用意し
Array ( [0] => ツール [1] => tool [2] => tools )の[0]をword,[1]をdougigo
といった具合に書き出して、他の配列でも同じように処理していきたいのです。

0493nobodyさん2006/11/14(火) 23:22:08ID:???
> foreach($value as $val) {
> $encode_val = mb_convert_encoding($value,"EUC-JP","Shift_JIS");

2行目の $value は $val のタイポ?
あとmb_conv...()は配列なんか受け付けないよ

foreach ($value as $val) {
 $encode_val = array();
  foreach ($val as $vah) {
   $encode_val[] = mb_conv...($vah, ...
   sqlite_query( ...
 }
}
0494nobodyさん2006/11/14(火) 23:23:28ID:???
>>462
意図した結果ではない結果を書けよバカ
04954932006/11/14(火) 23:26:38ID:???
コピペみすった

foreach ($value as $val) {
 $encode_val = array();
 foreach ($val as $vah) {
   $encode_val[] = mb_conv...($vah, ...
 }
 sqlite_query( ...
}
0496nobodyさん2006/11/14(火) 23:34:18ID:???
>>485
「役不足」という語について典型的な誤用をしてるな、お前。
知ったかぶって難しい言葉使う前に、辞書で調べるクセをつけるように。
04974562006/11/14(火) 23:40:48ID:liCu6Ubc
>>493
$encode = mb_convert_encoding($val,"UTF-8","Shift_JIS");
でした。しかし・・やはり駄目か
あと、495の方法を試させていただきましたが、全てnullになってしまいました。

>>494
ひとつのフィールドにframeと書かれるはずが、f,r,a,m,eというように
別々のフィールドに書き出されてしまいます。
0498nobodyさん2006/11/14(火) 23:55:16ID:???
>>492によれば $val は配列なんだからコンバートしようとした段階で
Warningが出ているはずだけど? 最初から疑問なんだけど何でエラーを無視してるの?

配列をmb_convert_encoding()に渡すことは出来ない
foreachでまわして一つずつ変換する必要がある

一文字ずつ出力されるのは $encode_val が配列ではなく文字列になってる証拠
$str = 'frame'; とある場合、$str[0] は f だし、$str[1] は r

変数の内容が期待したものかどうか、適当な位置で echo や var_dump() して
確認しながら作業しなきゃだめ
0499nobodyさん2006/11/15(水) 00:01:43ID:???
$double = array( array('a', 'b', 'c'), array('A', 'B', 'C') );

foreach ($double as $single) {
}

foreach ($double as $single) {
foreach ($single as $string) {
}
}
0500nobodyさん2006/11/15(水) 00:02:09ID:???
おまえらに必要なもの

<form method=GET action=http://www.google.com/codesearch>;
<input name=q value="">
<input type=submit value="Search Code" name=btnG>
</form>
0501nobodyさん2006/11/15(水) 00:04:59ID:???
>>468=<<496乙
論点をすりかえなくていいよ。
0502nobodyさん2006/11/15(水) 00:07:54ID:???
>>493

あぁ、明日の夜まで解決しなかったらこたえてやる。
もうねむいから回答保留する
0503nobodyさん2006/11/15(水) 00:17:09ID:ylGAVv6P
テンプレートエンジン「Smarty」についての質問なのですが....

$smarty -> assign("name", $name);
$smarty -> display("template.tpl");
これだと、「<, >, &」などがHTMLエンティティに変換出来ないので心配です。
マニュアルを読んでみたのですが、Smartyサイドで変換することは出来ないのでしょうか?

$smarty -> assign("name", htmlspecialchars($name));
こうすると、何も出力されないのです(エラーさえも)。
0504nobodyさん2006/11/15(水) 00:18:16ID:???
>>503
http://sunset.freespace.jp/Smarty/SmartyManual_2-6-6J_html/language.modifier.escape.html
0505nobodyさん2006/11/15(水) 00:22:53ID:ylGAVv6P
>>504
おお! ありがとうございました。
0506nobodyさん2006/11/15(水) 00:27:27ID:???
配列をvar_exportしてreturnをつけたファイル
-----
<?php return array (
...
); ?>
-----
があって、これを
<?php
$a = require('hoge.php');
?>
として$aに読み込みたいんですが、実行すると標準出力にファイルの中身が吐かれてしまいます。
何が間違ってるんでしょうか?
0507nobodyさん2006/11/15(水) 00:33:05ID:???
>>492
テーブル設計がおかしい
Array ( [0] => ツール [1] => tool [2] => tools ) とあるとき
ツールの同意語を検索するのは容易だが、tool の同意語は検索しづらい
全ての組み合わせを登録する必要がある

が、普通こういうテーブルは作らない。正規化をググるべき
05085062006/11/15(水) 01:01:26ID:???
もしかして、凄く大きいファイルをrequireするとエラーになったりするんでしょうか?
0509nobodyさん2006/11/15(水) 01:03:15ID:???
何がしたいか知りませんが、require/includeにそのような用法はありません
0510nobodyさん2006/11/15(水) 01:14:33ID:???
何がしたいかというと、そもそも「<?php return array (...); ?>」という形式で
静的なデータを持っているウェブアプリがあって、このデータを、
他のデータベースから引っ張ってきた対応する日本語に書き換えるスクリプトを書きたいんです。

そのウェブアプリ自体は$a = require('hoge.php');の形で、そのデータを使っているんですが、
自分でやるとできないんです。
どうも、hoge.phpのサイズが小さいうちは読み込めるのですが、500KBになるとエラーを出すようで。

実のところ、phpは全然分かっていないんですが、何か設定みたいのがあるんでしょうか?
0511nobodyさん2006/11/15(水) 01:21:16ID:???
>>506
requireは読み込みしてメインルーチンに取り込みであって
実行して結果を返すようなものじゃないから
requireファイルにreturnとか書いても無駄。

requireするファイルの中で
$a = array(...);
と書くか、
変数名を固定にしたくない場合は
function hoge() {
return array(...);
}
と関数化して
require('hoge.php');
$a = hoge();
と読み込んだ後に関数実行するとか。
関数名も固定にしたくないと言われたら知らん。

>>508
requireするファイルは特にサイズの問題はないと思うが、
PHPで確保できる配列のサイズには限界があるので
requireの中身が巨大な配列だとメモリ確保できなくて
エラーになることはある。(その場合、エラーメッセージが出る)
05125112006/11/15(水) 01:23:42ID:???
ごめん。嘘書いた。requireファイルからreturnで値を返すことは可能だった。
0513nobodyさん2006/11/15(水) 01:25:09ID:???
>>510
エラーメッセージは何になってる?
500KBくらいならメモリ確保できないってこともないと思ったが、
そもそもそれ以前にメモリ食いすぎのプログラムなのかもね。
0514nobodyさん2006/11/15(水) 01:27:30ID:???
>>509
ttp://www.php.net/manual/ja/function.include.php
> 値の返し方: 読み込まれたファイル内では、ファイルの実行処理を終了し呼出側の スクリプトに戻るために
> return()文を実行することが可能です。 読み込まれたファイルから値を返すことも可能です。
> 例 16-9. include()とreturn()文
> return.php
> <?php
> $var = 'PHP';
> return $var;
> ?>
>
> noreturn.php
> <?php
> $var = 'PHP';
> ?>
>
> testreturns.php
> <?php
> $foo = include 'return.php';
> echo $foo; // 'PHP'と出力されます
> $bar = include 'noreturn.php';
> echo $bar; // 1が出力されます
> ?>
0515nobodyさん2006/11/15(水) 01:30:09ID:???
なんか、元のファイルが「<?php return array(....); ?>」ではなくて
「<? return array(...); ?>」となっているのが原因のようです。
「<?php」にすると、requireで読み込むことができました。

一応、http://jp2.php.net/manual/ja/function.include.phpの例16-9で似たようなことはしているようです。
ただ、皆さんのおっしゃる通りあんまり正攻法ではないようですね。
どちらにせよ、なんで「<?php」になってないのに、元アプリで読み込めているかは謎です。
0516nobodyさん2006/11/15(水) 01:43:05ID:???
>>515
ああ、そういうことか。
それはphp.iniの設定でshort_open_tagsってのがあるため。
これをONにすると<? 〜 ?>形式でのPHPコードが許可される。
(OFFだと単なるHTMLとして扱われるため、そのまま画面に表示されてしまう)
記述が楽で<?=変数?>というテンプレートモドキの書き方もできるメリットがあるが
XMLなど他の<? 〜 ?>を使う言語との相性が悪いので推奨はされていない。
0517nobodyさん2006/11/15(水) 01:47:59ID:???
>>514
いやStdoutを開くってやつ
0518nobodyさん2006/11/15(水) 01:53:32ID:???
>>517
話が見えない
0519nobodyさん2006/11/15(水) 01:55:00ID:???
>>516
なるほど。
色々勉強になりました、ありがとうございます。
0520nobodyさん2006/11/15(水) 02:28:58ID:wkc8v1DY
昔これってオッパイ括弧に直せってエラーでなかったっけ。
OKになったのか?
$str = "asdf; echo $str[2];
0521nobodyさん2006/11/15(水) 02:46:13ID:???
>>520
本当に下らないなおっさんよ・・・
0522nobodyさん2006/11/15(水) 03:34:43ID:???
>>492
例えばカラム名noの値が2、nameの値にうんこ、を入れたい時、配列のキーをカラム名にして
$value['no'] = 2;
$value['name'] = "うんこ";
foreach($value as $key => $val) {
$hoge[] = $key;
$hogehoge[] = "'{$val}'";
}
$k = implode(" ,",$hoge);
$v = implode(" ,",$hogehoge);

できあがった$kと$vをクエリに使ってみてはどうか。
05235222006/11/15(水) 03:37:33ID:???
最後の二行は
$k = implode(", ",$hoge);
$v = implode(", ",$hogehoge);
のほうがいいか。動作に支障はないけど。
0524nobodyさん2006/11/15(水) 03:46:46ID:???
>>492
あっちでも言ってるけど
$valueをforeachした$valは配列
配列をmb_convert_encodingはできぬ

MLマルチ乙
0525nobodyさん2006/11/15(水) 03:55:28ID:???
配列を一括コンバートするならmb_convert_variables()だね。
0526nobodyさん2006/11/15(水) 04:01:45ID:???
オントロジーの定義データをRDBに詰めるのって楽じゃなさそう
結局は双方向リストの束かしらん
05274962006/11/15(水) 04:20:37ID:???
>>501
>>>468=<<496乙
>論点をすりかえなくていいよ。

ハァ?? 何言ってんのお前??? 俺は468ではないけどwww
単にお前の間違った単語の使用法を指摘してやっただけだ。感謝しろ。
0528nobodyさん2006/11/15(水) 04:49:09ID:???
つか、その誤用は典型的なものともまた違うな。
そんな変な使い方はなかなか見ないよね。
0529nobodyさん2006/11/15(水) 07:13:03ID:???
スレ違いぽいんですが、お願いします。
当方、HTML→CSS→PHPとあらかたマスターしてきたのですが、次に何を勉強しようかなと迷ってます。
PHPは力技も使えばほとんどやりたいことはできます。
サーバー関連(Apache?UNIX?よくわからんす)の勉強か、ajaxかXMLあたりをやろうと思うんですが、どれがどんな特徴があるか、私的な意見になると思いますが、聞かせてもらえるとありがたいです。
05305292006/11/15(水) 07:14:15ID:N4vSt0D0
IDだします。JSも多少使えます。
0531nobodyさん2006/11/15(水) 07:47:00ID:???
JAVA
0532nobodyさん2006/11/15(水) 07:55:17ID:???
あらかたマスターしたという自信があれば
人に聞くまでもあるまいに。
思うがままに
0533nobodyさん2006/11/15(水) 08:01:36ID:???
>>529
何がしたいのかよく読めない。
ネットワークエンジニアの勉強したいのか?プログラマの勉強したいのか?
どれがどんな特徴といっても、分野が違うから困るんだよね。

Apache,Unix,Ajax,XMLと名前を出してるということは、
この言葉に興味があるってことでしょ?
HTML→CSS→PHPときてるなら、前者2つは全く違う分野で、
覚えるべきことが多くなってややこしくなるから触れないほうがいいと思う。
残るはAjaxとXML好きなほうやればいいよ。
Ajaxやるなら、まずはJavaScript勉強すればいい。
ついでにFlashのActionScriptと類似点も多いので、Flashも同時にマスター。
XMLはいろいろ使えるけど、勉強してきた経緯からして、
XSLTと組み合わせて、XMLでWebページを作る技術でも身につければいいと思う。
■ このスレッドは過去ログ倉庫に格納されています