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

【PHP】下らねぇ質問はID出して書き込みやがれ 82

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/03/09(月) 02:14:28ID:HyrthkeE
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0121nobodyさん2009/03/12(木) 00:25:48ID:???
>>119-120 できました。ありがとうございます。
0122nobodyさん2009/03/12(木) 01:21:32ID:???
オブジェクト指向なるものを調べ始める
↓
みんなで開発するときは作業分担効率化
↓
フレームワークを使うのが当たり前
↓
ある程度自動でさくさくプログラム書けるらしい
↓
なんか自分でやった感がなさそうな気がしてモチベーション下がってきた・・・

まだ初心者すぎるし、ずっと手続き型でやるほうがいいのだろうか・・・
でも作業分担ですっきり綺麗にプログラムかけるのとか憧れるし、
そんなことができるなら今のうちにやっておいたほうがいいし、
でもプログラム自動生成とかになるらしい?からそれになれちゃうと、
今度は手続き型で覚えてきた基礎がおろそかになって忘れそうな部分が多そうで怖い・・・
一体どうしたら
0123nobodyさん2009/03/12(木) 01:37:44ID:???
別に手続き型言語でもフレームワークとか自動生成とかあるだろ
問題を分けて考えるべきだ
0124nobodyさん2009/03/12(木) 01:54:01ID:???
一人OOPで作業分担もヘチマもないだろw
0125nobodyさん2009/03/12(木) 01:59:09ID:???
誰にも見せないプログラムでも
後から見て、
おお〜これは見やすくて編集しやすいな〜
みたいに言われそうなの書いてみたい
0126nobodyさん2009/03/12(木) 02:19:19ID:???
>122
・21世紀にもなってOOPができないエンジニアはゴミ
・OOPでないコードは、ひとりで書くコードでもゴミ
・「手続き型のコード」が何を指すか知らんが、PHPの文法はどのみち完璧にしないと何も出来ない
・個々のフレームワークの知識は要らん
 MVC構造とは何かを頭に叩き込んでから、必要なものを自分で書け
 OOP分かってない奴はクラス使っても糞コードしか書けないのと同じで、フレームワークを使おうが基礎が出来てない奴のコードはやっぱりクズだ

・ガタガタ抜かす前に動くコードを書けよハゲ
 自動でサクサクできる?んじゃあやってみろよハゲ
 手を動かさないエンジニアはゾウリムシ以下だ
0127nobodyさん2009/03/12(木) 04:31:24ID:???
>>118,119
補足
mb_regex_encoding()はmb_ereg*()にしか適用されないので
マルチバイト文字だと認識できていない事が原因
その例ならpreg_replace()ではなくmb_ereg_replace()を使う
0128nobodyさん2009/03/12(木) 09:10:37ID:???
今はアスペクト指向なんてものがあるんですよ
0129nobodyさん2009/03/12(木) 09:36:10ID:???
手続きとかオブジェクトとかアスペクトとか手段でしかないからそれありきで考えるなんてアホ
成果上げるためにどう開発するのがいいか個別に考えればええやん
0130nobodyさん2009/03/12(木) 09:55:01ID:???
開発速度を犠牲にしても初心者は手続きで何がどうなっているのかを
ちゃんと見極めたほうがいい
仕事になればたいした技術もおそわらず
FWとAPIの使い方を覚えさせられてラピッド開発させられるだけ
短期間で効率的に開発というのは業務では中核となる課題だが
結果ゆとりを多く生み出してる
0131nobodyさん2009/03/12(木) 11:25:18ID:???
すいませんブログを作りたいのですが必要最低限の機能は以下でそろってますか?

トラックバック
書き込み(コメント、記事投稿)
ログ出力
0132nobodyさん2009/03/12(木) 11:26:19ID:blHr3iRk
すいませんid出し忘れました
01331082009/03/12(木) 11:41:37ID:???
さっさと回答しろよ初心者ども
0134nobodyさん2009/03/12(木) 11:46:49ID:???
ブログに必要なものは
↓
0135nobodyさん2009/03/12(木) 11:48:27ID:???
根気
0136nobodyさん2009/03/12(木) 13:49:23ID:???
>>131
最低限、カテゴリ別一覧とカレンダーと月別一覧は必要だろう
0137nobodyさん2009/03/12(木) 13:56:45ID:???
>>136
最低限、占いとポストペットとログールは必要だろう
0138nobodyさん2009/03/12(木) 14:26:31ID:???
ウェブログリングをお忘れでない?
0139nobodyさん2009/03/12(木) 17:18:46ID:???
>>136
カテゴリ別一覧とかカレンダーとか月別一覧とか

生きた化石がこんなところにもいるんですね
0140nobodyさん2009/03/12(木) 17:39:53ID:w9p/Xb/s
カテゴリ別一覧の仕組みがいまいちわからないんですけど
どのような仕組みでしょうか?
0141nobodyさん2009/03/12(木) 17:50:28ID:???
SELECT title,body,entrydate FROM entry WHERE categoryid=1;
0142nobodyさん2009/03/12(木) 17:52:19ID:???
>>139
あなたは使いにくいものはかっこいいと勘違いしてるクリエイターさんですね
0143nobodyさん2009/03/12(木) 19:04:33ID:y65Mhsc8
配列から要素を抜き出し、その分を詰めたいのですが、どうするのがスマートですか?
$array = array('a','b','c');
$str = pick($array,1);
↓
$array : array('a','c')
$str : 'b'
のような動作をさせたいです
0144nobodyさん2009/03/12(木) 19:11:59ID:???
>>143
$str = $array[1];
unset($array[1]);
0145nobodyさん2009/03/12(木) 19:26:26ID:???
unset使うコーディングはクズだな
0146nobodyさん2009/03/12(木) 19:26:42ID:???
>>143
list($str) = array_splice($array, 1, 1);

>>144
unsetは数値キーを再割り当てしない
0147nobodyさん2009/03/12(木) 19:44:54ID:???
>>146
ありがとうございました
0148nobodyさん2009/03/12(木) 21:50:39ID:Y3aY0Tvp
PHP+MYSQLで、MySQL寄りの質問になると思うんですが、
MySQLのスレッドがなかったので…。
スレ違いなら申し訳ないです。


[testテーブル]
no(オートインクリメント)
name

1・フォームからnameデータを受け取り、testテーブルにINSERTで入力。
2・その後すぐに、1の入力で作成されたレコードのnoを引き出す。

これを行うのに最適な方法はなんでしょう?
nameはキーではなく重複する可能性があるのでnameでのselectは不可です。

とりあえず2で
select * from test order by no desc limit 0,1
で取り出す方法を考えたんですが、
その場合1と2の間に一貫性?を持たせなければなりません。
この一貫性を保持させる方法がMySQLにあるのかPHPにあるのか・・・。
もしこの方法が最適なら一貫性を持たせる方法
(できれば例のコード)を教えてください。
また他に最適な方法があるならぜひお願いします。
0149nobodyさん2009/03/12(木) 21:53:28ID:???
>>148
説明
int mysql_insert_id ([ resource $link_identifier ] )
直近の INSERT クエリにより AUTO_INCREMENT カラム用に生成された ID を取得します。
0150nobodyさん2009/03/12(木) 22:12:31ID:w9p/Xb/s
classの継承についてちょとよく分からないので質問です。

class Main{
function dbList(){
// MySQLから特定のテーブルリスト一覧を取得する
}
}

class Sub extends Main{
function output(){
$list = $this->dbList(); // Mainからテーブルリストを取得
}
function output2(){
$list = $this->dbList();
}
}

こういうclassがあったとして、Sub内のoutput()を実行すると
MainのdbList()を実行することになりますよね?
そしてoutput2でdbList()を使いたい場合、再度実行する事になりますよね?
そうではなくて、Mainで設定した内容を使い回しするような事って出来ないのでしょうか?
0151nobodyさん2009/03/12(木) 22:29:49ID:???
>150
function dbList(){
 if(false === isset($this->dbList){
  $this->dbList = mysql_fetch_なんとか(); 
 }
 return $this->dbList;
}
遅延初期化とか呼ばれるテクニックで、割と定石。
使いすぎるとカオスになるので、どの値をどのクラス/インスタンスで保持するかは慎重に検討したほうがいい。
0152nobodyさん2009/03/12(木) 23:11:07ID:Y3aY0Tvp
>>149
まずint mysql_insert_id ([ resource $link_identifier ] )
について調べてみます。
助言本当にありがとうございます。
0153nobodyさん2009/03/12(木) 23:53:49ID:ZuCT+g0F
file.txtにcsvで以下のように記録しました
これからファイルからデータベースにデータを移し替えたいと思ってます

id,name,age
1,木村,10
2,佐藤,20
3,木下,30
4,山田,40
5,坂本,50



mysqlを使用した場合でダイレクトにid2の佐藤さんのデータのみを取得するにはどうしたらよろしいでしょうか?
ファイルですとforeachでまわしてexplodeで区切る感じで、データを全部読み込んで処理させてるのですが
データベース使ってもデータは全部読み込んでまわして取得するのでしょうか?
0154nobodyさん2009/03/12(木) 23:59:52ID:qegdPp88
タブ区切りのbbs.cfgからexplodeで設定値を取り出す
このとき、配列の要素が100個ぐらいだとして、
こういう場合はいちいち使うものに変数名をつけるか、
それとも配列の[数字]でつかうのか、
どっちが一般的なんでしょ?
こういう場合に限らず、一般的に他の言語とかでも
たくさんの値を使う場合はどういう管理をしてるんでしょう??
0155nobodyさん2009/03/13(金) 00:15:24ID:???
>>153
データーベースの場合は、
WHERE id=2
とかって指定すれば、id=2のデーターだけ
読み込める。
0156nobodyさん2009/03/13(金) 00:27:47ID:???
>154
個数はあんま関係ないな。
論理的に「同じようなものが100個」ならば、100要素の配列を使う、というだけ。
例えば>153のデータが100行ならば、人間が100人なわけで、100要素の配列に格納するのは理にかなっているわけだ。

だが、列が3列だからといって、各行を3要素の配列で表現したりはしない。idと年齢は別の概念だからな。
たとえスリーサイズとか干支とか住所とかで各行の要素が何十とあったとしても、数字添字の配列にはしない。
$person[0] = array( 'id' => 1, 'name => '木村', 'age' => 10);
$person[1] = array( 'id' => 2, 'name => '佐藤', 'age' => 20);
みたいな連想配列に格納する。もしくはクラスを使う。

1行ずつ処理する場合も
list($id, $name, $age) = explode(',', $line);
みたいにやった方が、コードが読みやすいはず。
0157nobodyさん2009/03/13(金) 00:43:01ID:???
>>154 >>156
俺は100も200もあって意味とか型とかが同一のデータなら(試験の点数など)、
いちいち列名なんてつけずに数字で扱うけどな。まあどっちもでいいんじゃね
0158nobodyさん2009/03/13(金) 11:07:13ID:eI4NlDZU
classの中で変数を宣言するときvarにしようと思ったのですが
どこかのサイトで、php5はvarは使うな的なことを書いてありました
そのサイトどこか忘れてしまったのですが、varの他に何を使うのが適当なのでしょうか
0159nobodyさん2009/03/13(金) 11:28:27ID:???
>>158
http://www.php.net/manual/ja/language.oop5.visibility.php
> 注意: キーワード var で変数を宣言する PHP 4 の方法は、
> 互換性を保つために今でもサポートされています (これは public と同じ扱いになります)。
> PHP 5.1.3 より前では、 これを使用すると E_STRICT 警告が発生します。
0160nobodyさん2009/03/13(金) 13:37:40ID:???
PHPである程度の量の文(300KBぐらい)を処理するために
ヒアードキュメントを使っています。
フォームで処理すればコピペの時のスクロールが省けると思いフォームの
POST経由で変数を処理しましたが100KBぐらいしか処理できません。
これはフォームの入力制限等があるからでしょうか?
0161nobodyさん2009/03/13(金) 14:01:14ID:???
>>160
そんなことはないと思うぞ。ブログとか文章が長くて容量がでかいだろ。
おそらく、設計にミスがあるんじゃないか?
0162nobodyさん2009/03/13(金) 14:14:40ID:???
>>153
DBの場合、主にSQL文を使う。その場合なら
SELECT id,name,age FROM テーブル名 WHERE id = 2;
こんな感じのSQLをデータベースに投げることによって、idが2のやつのデータを返してくる。

ファイルよりも細かい検索ができるからいろいろやってみると面白いよ。
詳しくはMySQLのオンラインマニュアルとかSQLの入門サイトを参照のこと。
0163nobodyさん2009/03/13(金) 14:17:06ID:???
>>153
http://ufcpp.net/study/csharp/ap_ver3.html#linq
0164nobodyさん2009/03/13(金) 15:02:30ID:6EGCx2Tu
PHPで痴漢、いやっ置換する関数などはありますか?
0165nobodyさん2009/03/13(金) 15:04:59ID:???
str_replace
preg_replace
0166nobodyさん2009/03/13(金) 15:05:04ID:OOgBCn1Z
Cache_Liteを使って、
一つのフォルダに50万以上のページのキャッシュを保存してます。
今後も+1万/日のペースで増加します。

やはり、キャッシュを保存するフォルダは適度に分散した方がいいのでしょうか?
動作が遅くなる可能性はありますか。
0167nobodyさん2009/03/13(金) 15:19:24ID:DZKgFtDb
classの中でevalを使う方法を教えていただけませんか
使えなかったらすみません

class hoge{
var $hoge = eval("a");
}

このようなエラーが返ってきます。Parse error: syntax error, unexpected T_EVAL
0168nobodyさん2009/03/13(金) 15:32:23ID:???
eval(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
0169nobodyさん2009/03/13(金) 15:42:15ID:???
class hoge{
var $a;

function hoge(){
$this->a = eval...
}
}

こうしてみたら?
eval使ったことないけど。
0170nobodyさん2009/03/13(金) 16:00:26ID:XJCetXbH
自動で、毎日ある時間になったら、スクリプトを実行させたいのですが、
ループ文で四六時中、time()関数を実行して、設定した時間になったら、ループを抜け出しスクリプトを実行する、
というやり方はありですか?
0171nobodyさん2009/03/13(金) 16:06:22ID:???
>>170
おぉ、その手があったか。是非、max_execution_timeの限界ってどのくらいか試してくれ。
でもそのスクリプト、ずーっと実行し続けられる保証がないよね?
そしたらそれを定期的に監視するするスクリプトもそれで動かせばいいね。うんうん。
0172nobodyさん2009/03/13(金) 16:07:30ID:???
現実的には cron だな。
0173nobodyさん2009/03/13(金) 16:13:19ID:DZKgFtDb
>>169
なるほど!
思いつきませんでした。ありがとうございます

>>170
ものすごく負荷がかかると思います。
レンタルサーバーなら、コンパネからcron使えないですかね
0174nobodyさん2009/03/13(金) 16:19:46ID:???
>>170
クライアントPCつけっぱなしか。電気代もったいないな
01751702009/03/13(金) 16:21:18ID:XJCetXbH
レスありがとうございます。
まったくの入門者でwinで自鯖をやる予定です。
max_execution_timeというので、負荷がわかるわけですね、勉強になりました。
まだ、試してないんですが、cronだと細かい設定が出来ないですよね?
0176nobodyさん2009/03/13(金) 16:37:25ID:???
>>174
ignore_user_abortがある

>>175
工夫すれば負荷なんてそんなにかかんないよ。
1クライアント分消費するだけ。
max_execution_timeを無限設定して
ignore_user_abortで起動して、forループにSleepを巨大な秒数でセットしてやれば。
あとは、プロセスを一つに絞るのに、どっかにPIDファイル作るとか

0177質問させて下さい2009/03/13(金) 21:45:58ID:75Yme90V
php5.25です。


phpで下記を書いてます。

<?php
$mainrss = array (
'http://www.123.net/ ○○',

'http://456.net/ ○○'
);
?>

URLは取得できるようになるんですが、URLの後ろに短い紹介文を書きたいのですが、
カンマじゃなくて何を使ってあげるといいのでしょうか?
○○に短い紹介文を記入したいです
アドバイスをお願いします。
0178nobodyさん2009/03/13(金) 21:48:38ID:???
意味が分からんけど=>でキーにでもすれば?
0179質問させて下さい2009/03/13(金) 21:50:51ID:75Yme90V
>>178

レスありがとうございます。
下記のような感じで記入できたと思うんですが、思い出せなくて。

'http://www.123.net/','あいうえお',
0180nobodyさん2009/03/13(金) 21:56:15ID:???
.
0181質問させて下さい2009/03/13(金) 22:06:25ID:75Yme90V
>>180
レス有り難うございます!
それでも無理でした

'http://www.123.net/, '123',

でもだめでした。
難しいですね。
0182nobodyさん2009/03/13(金) 22:09:21ID:???
カンマじゃなくてドットだって
0183質問させて下さい2009/03/13(金) 22:15:49ID:75Yme90V
それでもだめでした。
レスを有り難うございます。
本を買ってきて勉強したいと思います。
0184nobodyさん2009/03/13(金) 22:25:13ID:???
いや、つか何をしたかったの?
0185nobodyさん2009/03/13(金) 23:25:30ID:???
>175
Unix/Linuxならcronだが、同じ事はWindowsではタスクスケジューラで実現する。
(Windows上で動くcronも存在するが)
無限ループを回すよりはこちらのほうがスマート。

「cronだと細かい設定が出来ない」の意味が良く分からんな。
1分以下の精度で実行タイミングを指定したい(12時30分15秒じゃないとダメなんだ!とか)とか言う意味ならcronの仕様上無理だが。
曜日指定とか時刻指定とかなら余裕で可能。cron覚えるのがダルいならスクリプト側で制御してもいいしな。
任意のスクリプトを動作させられるのだから、そのPC上で可能な事はなんだって出来る。
0186nobodyさん2009/03/13(金) 23:57:37ID:???
>>176

>max_execution_timeを無限設定して

笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
0187nobodyさん2009/03/14(土) 00:00:05ID:???
>>177
$ary = array(
array("url"=>"127.0.0.1","shoukai"=>"しょうかい1"),
array("url"=>"http://yahoo.co.jp/","shoukai"=>"しょうかい2"),
array("url"=>"http://2ch.net/","shoukai"=>"しょうかい3")
);
01881702009/03/14(土) 01:07:17ID:u9lyCe1c
170です。レスくれた方ありがとうございます。
いまいちよくわからないので、もう少し勉強してからもう一度質問させて頂きます。
0189質問させて下さい2009/03/14(土) 07:04:33ID:hOLVrRGN
>>187
わああああああ!
レスありがとうございました。
このようにやりたかったです。
無事に出来ました!本当にありがとうございます。
phpの本は買って勉強をしておきます。
0190nobodyさん2009/03/14(土) 07:21:36ID:???
>>189
>>178
勉強する前に人の話を聞け
0191nobodyさん2009/03/14(土) 11:14:07ID:???
>>187に超図解シリーズで本を出してもらうしかないな
って、超図解の出版元って倒産してるのかよ!w
0192nobodyさん2009/03/14(土) 11:44:37ID:sxFlkHR4
phpって一つの.phpに何行くらい書いても大丈夫なんでしょう
5000行くらいなら平気ですかね?もちろん文字数や処理にもよると思うのですが、
(適度に改行したとして)大体何行くらいに納めるみたいなのがあればよろしくおねがいします
0193nobodyさん2009/03/14(土) 11:51:38ID:???
特にないよ
0194nobodyさん2009/03/14(土) 13:20:33ID:???
>192
俺の場合、1ファイル1クラスは死守。
1クラス500行上限が目安で、1メソッドは基本的にスクロールせずに全部見える分量に収める。
1ファイルが大きくなると、当然その分パフォーマンスに影響するし、保守もしづらい。
0195nobodyさん2009/03/14(土) 13:25:01ID:???
同サイズだったらファイル数が多い方がパフォーマンス悪くなるわ
0196nobodyさん2009/03/14(土) 13:43:06ID:???
>>195
クラスローダーを書いて、頻繁に使うクラスはパッキングしてキャッシュすればOK
01971942009/03/14(土) 13:56:17ID:???
>195
毎回毎回すべての処理を呼び出すならその通り。
だが、呼び出しの9割は参照系へのアクセスで、そのうち8割はトップページだ。

つうか、パフォーマンスなんぞどうでもいいんだけどな。管理しづらい、読みづらいというのが最大の問題点。
0198nobodyさん2009/03/14(土) 14:35:42ID:???
自分で書いたくせに何言ってんだお前www
0199質問させて下さい2009/03/14(土) 19:52:27ID:hOLVrRGN
2度目の質問失礼します。

file_getについてアドバイスをお願いします。

下記にするとエラーが出ます。
<?php
echo mb_convert_encoding(file_get_contents("111.php"), "shift-jis", "auto");
?>

エラー内容
Warning: mb_convert_encoding() [function.mb-convert-encoding]:
Unable to detect character encoding in 111.php on line 59


下記にするとエラーは出ません。
<?php
echo mb_convert_encoding(file_get_contents("111.php"), "shift-jis", "shift-jis");
?>

"shift-jis", "shift-jis"と2重にしたんですが、おかしな書き方になるのでしょうか?
別の書き方がありましたら教えて下さい。
0200nobodyさん2009/03/14(土) 20:02:04ID:???
>>199
>>190に関しては?
0201nobodyさん2009/03/14(土) 20:37:03ID:qjtwBjoL
キーと値の組み合わせとしてではなく、
array('a','b','c')
のように値の羅列の形式で代入された配列の正式名称って何ですか?
0202nobodyさん2009/03/14(土) 20:44:32ID:???
>>201
そのまんま配列

キーと組み合わせたのは連想配列
0203nobodyさん2009/03/14(土) 20:48:34ID:???
>>199
file_get_contentsに設定するパラメータは以下だけです

filename
flags flags
context
offset
maxlen

よって君は何か勘違いをしている
マニュアルをよく読みましょう
0204nobodyさん2009/03/14(土) 21:06:31ID:???
君が勘違いしている
0205nobodyさん2009/03/14(土) 21:10:32ID:???
>199
111.phpのエンコードが事前に分かっているなら後者の書き方のほうが望ましい。
前者だと、間違ったエンコード判定がされた場合文字化けの原因になるしな。

Shift_JISからShift_JISに変換しているわけで、ヘンっちゃあヘン、というか無駄だな。
状況によっては100%無意味というわけでもないが…
echo file_get_contents("111.php");
とほぼ同じ意味だ、というのは理解してるのかな。
0206nobodyさん2009/03/14(土) 21:36:24ID:???
$hoge = "hoge";
var_dump($hoge);

echo "<br>";

function hogehoge(){
$hogehoge = "hogehoge";
echo $hogehoge;
}
var_dump(hogehoge());

echo "<br>";

function hogehogehoge(){
return "hogehogehoge";
}
var_dump(hogehogehoge());

の結果が、上から順に

string(4) "hoge"
hogehogeNULL
string(12) "hogehogehoge"

このNULLってどうしてでてくるんですか?><
0207nobodyさん2009/03/14(土) 21:41:55ID:???
値戻してないからだろ
0208nobodyさん2009/03/14(土) 21:44:54ID:???
>206
$a = hogehoge();
$b = hogehogehoge();

として、$aと$bの中身をvar_dumpで見てみろ。
0209nobodyさん2009/03/14(土) 22:01:33ID:fYsVSce/
>>207
hogehoge()の中にreturnをいれて、
function hogehoge(){
$hogehoge = "hogehoge";
echo $hogehoge;
return "ho";
}
にしたらNULLなくなりました><
ありがとうございました
>>208
こうでしょうか><
$a = hogehoge();
$b = hogehogehoge();
var_dump($a);
echo "<br>";
var_dump($b);

結果、
hogehogeNULL
string(12) "hogehogehoge"
になりました><
0210nobodyさん2009/03/14(土) 22:20:14ID:S24jNTMx
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>

<form method="post" action="<?php $_SERVER["PHP_SELF"]; ?>">
<input type="checkbox" name="bbb[]" value="かきくけこ">
あいうえお<br>


<input type="submit" value="選択">
</form>

<?PHP
if(isset($_POST['bbb'])){

foreach ($_POST['bbb'] as $a){
print ($a);
print "<br>";
}
}
?>

</body>
</html>

これで、ローカルで試すと問題なく動くのですが、
レンタルサーバーにアップロードして試すと
文字化けになります。なんででしょうか?
0211nobodyさん2009/03/14(土) 22:33:52ID:???
>>210
自己レス
サーバーのphp.ini の
mbstring.internal_encoding = UTF-8を設定して
上書きしてファイルを再読み込みしてリトライしたらできた。

サーバーのデフォルトではEUCになってた。氏ね。
0212質問させて下さい2009/03/14(土) 22:37:16ID:hOLVrRGN
>>203
そういうことについては全然勉強足りていないので頑張って覚えてみます。
アドバイス有り難うございます。

>>205
詳しい解説有り難うございます。
おかげでよく理解出来ました!
感謝しております。


>>200
意味がわかりませんでした。
失礼致しました。
0213nobodyさん2009/03/14(土) 23:02:29ID:???
>>210
php_selfは推奨されてないのに使うバカ発見
0214nobodyさん2009/03/14(土) 23:43:47ID:???
>>210
マルチ乙
0215nobodyさん2009/03/14(土) 23:52:54ID:da46lvzd
トラックバックの送受信の処理を書こうと思うのですが
もし既存のライブラリがございましたら教えてください
0216nobodyさん2009/03/14(土) 23:54:59ID:???
>>215
google
0217nobodyさん2009/03/14(土) 23:56:50ID:???
>>216
きも
0218nobodyさん2009/03/15(日) 00:05:25ID:yySd7NKe
cliでpg_connectを実行したらSegmentation faultが出るんだけど。

PHP 5.2.6-2ubuntu4.1 with Suhosin-Patch 0.9.6.2 (cli)

<?php
$DB = pg_connect("host=$DbIp dbname=$DbName user=$DbUser password=$DbPass");
?>

これはうちの環境の問題なのか、誰か教えて欲しい。
0219nobodyさん2009/03/15(日) 00:27:37ID:???
>>218
そりゃ変数に何も格納されてないなら無理だろ
0220nobodyさん2009/03/15(日) 06:06:20ID:???
PHP5.3使ってるんですが、メモリ不足を例外処理みたく捕まえることってできますか?
方法をご存じの方がいらっしゃいましたら教えてください。
■ このスレッドは過去ログ倉庫に格納されています