トップページ⇒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カテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0182nobodyさん2006/11/09(木) 07:33:06ID:???
>>181
>>171じゃない?
0183nobodyさん2006/11/09(木) 09:35:31ID:???
だからおまえらみたいなカスによるベンチの結果なんてどーでもいいよ
0184nobodyさん2006/11/09(木) 10:25:37ID:???
フォルダのサイズを計算して一定数以上のファイル数または容量になったら
中身のファイルをすべて削除するスクリプトってない?
0185nobodyさん2006/11/09(木) 10:27:48ID:???
自分で作れ
0186nobodyさん2006/11/09(木) 11:05:58ID:???
ページの更新日時を自動的に表示させたいのですが、
現在のページのファイルって、どのように取得したら良いのでしょうか?
$_SERVER["REQUEST_URI"]からファイルを抽出できそうですが、
index.htmlを省略された場合とかダメですよね。
0187nobodyさん2006/11/09(木) 11:17:59ID:???
__file__
0188nobodyさん2006/11/09(木) 11:22:52ID:???
>>187
そんな便利な定数がありましたか。ありがとうございます。
0189nobodyさん2006/11/09(木) 11:26:28ID:???
>>185
あるかないか聞いてんだろ
しらねーなら答えるなクズ
テメーも作れないくせによww
0190nobodyさん2006/11/09(木) 11:35:43ID:???
多分ないよ
態態PHPで書く理由が分からん
0191nobodyさん2006/11/09(木) 12:17:59ID:???
ID隠してるやつの煽りまでいちいち受けなくていいよ
多分それ本人じゃないから
0192nobodyさん2006/11/09(木) 12:19:58ID:???
PHP_SELFにもSCRIPT_NAMEにもPATH_INFOが入ってしまうので
basename($_SERVER['SCRIPT_FILENAME']);
を使おうと思うんですがどうでしょう?
0193nobodyさん2006/11/09(木) 12:34:34ID:???
事故解決しました。お騒がせしました。
0194nobodyさん2006/11/09(木) 14:15:41ID:???
「素数計算の100万回ループ」とか、現実的にはあまり意味の無い
ベンチをとって、勝ったの負けたの騒いでるキモヲタは全員氏んどけ。

そんな無意味なベンチはパソコンオタクのオナニー趣味でしかない。
0195nobodyさん2006/11/09(木) 14:20:14ID:???
可愛そうな子・・・
0196nobodyさん2006/11/09(木) 14:57:04ID:???
>>194
アナタ、コノスレニ アワナイ アルネ
0197nobodyさん2006/11/09(木) 16:00:04ID:???
>>194
はいはい、乙乙
黙ってスルーできないキモヲタのくせに吼えるな
0198nobodyさん2006/11/09(木) 16:05:22ID:???
<ahref="index.html">トップページ</a>
<ahref="profile.html">プロフィール</a>
<ahref="inquiry.html">お問い合わせ</a>

上記のタグがtemplete.phpに記述されているとします。
これを配列に代入して<?=$templete[$i]?>で表示するようにしたいのですが、
templete.phpのソース内にコードを追記せずに実現したいのです。
つまり、hyoji.phpに<?=$templete[$i]?>(forで$iを表示する)を記述して
表示出来るような。

フォームから配列に代入して表示するのは出来るのですが、
そうじゃない方法はどうすればいいかと思い、質問しました。
0199nobodyさん2006/11/09(木) 16:28:34ID:???
>>198
Smartyなりなんなりのテンプレートエンジン使って下さい
0200nobodyさん2006/11/09(木) 16:29:04ID:???
>>198
よく分からない
どういう情況なんだ
02011982006/11/09(木) 16:37:25ID:???
>>200
ちょっと説明づらいのですが、1つのファイルから特定のソースを配列に
代入して表示したい、と言うことです。

例えば、>>198のタグがtemplete.phpに記述されているとします。
表示用のhyouji.phpには
<?php
for($i=0;$i<$max_array;$i++){
echo "$templete[$i]"."<br>";
}
?>
というようなソースが入っていて、これをブラウザで表示すると

トップページ
プロフィール
お問い合わせ

と表示されればいいのです。上記のコードではforで回しているので
順番に表示されますが、
<?=$temple[0]?><?=$temple[2]?><?=$temple[1]?>
こういう風に書いていくと、表示位置も入れ替えられるので、便利だと思いまして。
0202nobodyさん2006/11/09(木) 16:47:36ID:???
$template = file('templete.php');

まあ好きにすればいいけどさぁ
0203nobodyさん2006/11/09(木) 17:07:00ID:???
テンプレートじゃないじゃん
0204nobodyさん2006/11/09(木) 17:08:30ID:???
どうせなら

templete.phpを
index.html,トップページ
profile,プロフィール
inquiry.html,お問い合わせ

として、

$template = file('templete.php'); foreach($template as $line){
$items = explode(",", $line);
echo "<a href=\"{$items[0]}\">{$items[1]}</A>";
}

とか。
02052042006/11/09(木) 17:09:59ID:???
あ、
templete.phpは
index.html,トップページ
profile.html,プロフィール
inquiry.html,お問い合わせ
の間違え
02061982006/11/09(木) 17:11:55ID:???
>>204
例えば別ファイルにすると、ファイル数が増えるのと
余計なタグが入っていた場合、正常に表示されなくなりますよね?

fileで読み込むと>>198のソースだけなら良いのですが、その後を考えると
反応的ではないと思ったんです。なので
$templete[]="<ahref="index.html">トップページ</a> ";

こういう風に入ってくれれば出力しやすいし、出力する場所も選べるので
便利なのですが、いまいちソースの組立が上手くいかなくて。。
02072062006/11/09(木) 17:12:30ID:???
反応的→汎用的 です。
0208nobodyさん2006/11/09(木) 17:17:01ID:???
>>200
0209nobodyさん2006/11/09(木) 17:25:20ID:???
         ∧ ∧
       ヽ(・∀ ・)ノ 
       (( ノ(  )ヽ ))
         <  >
0210nobodyさん2006/11/09(木) 20:52:53ID:???
ファイルが増えるのがイヤとか言ってるが、
他の人は逆に外に出すべきだと考えると思うぞ。
表示内容を変えるたびにコードをいじるほうが不自然。

余計なタグ云々なんて、いくらでも整形できるだろうが...。
0211nobodyさん2006/11/09(木) 21:52:02ID:???
>>206
なら>>202でいいじゃん
もしくは正規表現とか
0212nobodyさん2006/11/09(木) 21:58:04ID:???
>>206
実際に運用してみると、変わりそうで変わらないこと、結構あるよ。
先々のことをよく考えて固定で作った方がわかりやすいし、簡単だよ。
汎用的に作ればかっこいいけどさ。
ファミコン対パソコンみたいなもんだよ。
0213nobodyさん2006/11/09(木) 22:33:03ID:???
フローチャート書いて熟考すると吉♪
0214nobodyさん2006/11/09(木) 22:58:24ID:W4pI1qAG
日付の変換で、20061231に1足したら20070101ってしてくれる関数ありませんでしたっけ?
0215nobodyさん2006/11/09(木) 23:05:30ID:???
>>214

PHPマニュアルのdateのところよ〜く見てみて。
答えが載ってるから(リンク先のmktimeも熟読してね)
0216nobodyさん2006/11/09(木) 23:09:17ID:W4pI1qAG
>>215
探してるけど見つからないから聞いてるのに・・・いけず・・・
0217nobodyさん2006/11/09(木) 23:10:22ID:W4pI1qAG
でもmktimeは熟読しても関係ないと思う
0218nobodyさん2006/11/09(木) 23:11:42ID:???
>>214
strtotimeでも使えば。
0219nobodyさん 2006/11/09(木) 23:23:10ID:W92sr8u2
似たような質問が出ていますが・・
htmlのソースを書き出したテキストファイルからの特定語句の
抜き出しについてお聞きしたいことがあります。

$kensaku="[ァ-ヴー][ァ-ヴー・]+|[a-zA-Z0-9\.\-\s]*[a-zA-Z][a-zA-Z0-0\.\-\s]*";
$fp=fopen("source.txt","r");
$fr=fread($fp,filesize("source.txt"));
$str="$fr";

$word = array();
while(1){
$kensaku2 = mb_ereg("$kensaku",$str,$match);
if($kensaku2 == FALSE){
break;
}else {
$match = $match[0];
array_push($word, $match);
}
$pos = strpos($str, $match);
$str = substr($str, $pos+$kensaku2);
}
print_r($word);
fclose($fp);
とすると、ソース内のカタカナやアルファベットの語句は抜き出せるのですが・・
title="IPアドレス" class=crosslink
title="Internet Protocol Address" class=crosslink
上記のように、 ソースに含まれる title=" " class=crosslinkの" "の中
の語句のみを抽出したいのですが、うまくいきません。
どのようにすれば良いでしょうか?
0220nobodyさん2006/11/09(木) 23:23:52ID:???
mktimeって32日を指定すればちゃんと翌月1日に直して返してくれるだろ?
0221nobodyさん2006/11/09(木) 23:25:19ID:W4pI1qAG
あ、こんな感じですね。アドバイスくれた人、ありがとう。


$date = 20060101;

echo date('Y/m/d H:i:s', strtotime($date));
echo '<hr>';
echo date('Y/m/d H:i:s', mktime(0,0,0,date('d',strtotime($date))+40,date('m',strtotime($date)),date('Y',strtotime($date))));
0222nobodyさん2006/11/09(木) 23:25:58ID:???
>>219
preg_match('/title="([^"]*)"/', $str, $match)
echo $match[1];
0223nobodyさん2006/11/09(木) 23:30:45ID:???
$day = date("Ymd",mktime(0,0,0, 12,32,2006));

これで$dayには20070110が格納されるよ

dateは日付の整合性チェックをしてくれないけど
mktimeはしっかり者だからちゃんとチェックしてくれる


ちなみにPHPって感じの変数名も使えるのな

02242192006/11/09(木) 23:45:08ID:W92sr8u2
>>222
いえ、title=" "ではなく、title=" "のあとに「class=crosslink」が
くる部分・・title=" " class=crosslink の" "の語句のみを取得した
いのです。そこでつまずいておりまして。。。
0225nobodyさん2006/11/09(木) 23:50:14ID:???
意味が分からんぞ
対象文字列は何で、結果何が取り出せてればいいんだ
0226nobodyさん2006/11/10(金) 00:02:59ID:???
>>224
じゃあ
preg_match('/title="([^"]*)" class=crosslink/', $str, $match)
echo $match[1];
でいいんでは。
02272192006/11/10(金) 00:12:09ID:0rGbXNdx
ええ、そうなんですが、title=,"",class=crosslink は省いた
状態で、" "の中身だけが欲しいのです。
0228nobodyさん2006/11/10(金) 00:17:16ID:???
要するにサブパターンを知らんということだろうか
0229nobodyさん2006/11/10(金) 00:19:04ID:???
イマイチよく分からないけど、それなら226のサブマッチでいいんじゃないの?
0230nobodyさん2006/11/10(金) 00:25:43ID:???
"[^"]*" -> "[^"\\\\]*(?:\\\\.[^"\\\\]*)*"
02312192006/11/10(金) 00:26:22ID:0rGbXNdx
つまり、$word='/title="([^"]*)" class=crosslink/'
preg_match('/([^"]*)/', $word, $match);

みたいな感じで、さらに検索をかければ良いのでしょうか?
0232nobodyさん2006/11/10(金) 00:28:13ID:???
ハァ?
0233nobodyさん2006/11/10(金) 00:29:55ID:LNYLSoFr
phpMyAdminのテーブル内容を表示すると、
「プライマリーキーを定義すべきです」
と編集、削除ボタンが「?」になるのですが、原因は何なんでしょうか?
0234nobodyさん2006/11/10(金) 00:34:17ID:???
>>227
おまえ、1度も実行しないで言ってるだろう。
>>226ですでに"〜"の中身だけ抜き出してるぞ。
0235nobodyさん2006/11/10(金) 00:35:57ID:???
>>233
俺思うにプライマリキーを定義すべきなんじゃね?
0236nobodyさん2006/11/10(金) 00:39:41ID:???
echo uniqid(""); でユニークなIDを生成出来ますが、
4桁など桁数を指定して生成するにはどうしたらいいのでしょうか?
0237nobodyさん2006/11/10(金) 00:42:20ID:???
>>236
それじゃユニークにならないから無理
02382192006/11/10(金) 00:42:26ID:0rGbXNdx
>>234
実行しましたよ。Array ( [0] => title="IPアドレス" class=crosslink[1] =>・・
しかし、こうなってしまいました。。。
0239nobodyさん2006/11/10(金) 00:57:34ID:???
>>238
[1]の内容が肝心だろww
わざとやってんのかww
0240nobodyさん2006/11/10(金) 00:58:24ID:9aG6gw2r
>>223
あ、親切な方だ。ありがとうございます!
02412192006/11/10(金) 01:10:33ID:0rGbXNdx
>>239
わざとなんてことはないですよ。
echo $match[1]; で出力しようとすると何も表示されないのです。
それで、print_r($word); で出力しています。
0242nobodyさん2006/11/10(金) 01:13:52ID:???
>>241
なんか環境がおかしいんじゃないの?

$str = ' title="IPアドレス" class=crosslink ';
preg_match('/title="([^"]*)" class=crosslink/', $str, $match);
echo $match[1];

で結果が

IPアドレス
02432192006/11/10(金) 01:27:13ID:0rGbXNdx
>>242
うーん・・、219のソースで
$kensaku2を preg_match('/title="([^"]*)" class=crosslink/', $str, $match);
に変更して、出力を echo $match[1]; とした場合、正しく表示される
ものでしょうか?うまく表示できないのですが・・・
0244nobodyさん2006/11/10(金) 01:29:23ID:???
219のソースなんざ知らん。
元々のソースが汎用性のない腐ったソースなんだから
そこにどう組み込むかはお前が考えるべきことだ。
0245nobodyさん2006/11/10(金) 01:33:15ID:???
>>243
$str = ' title="IPアドレス" class=crosslink ';
$word = array();
while(1){
$kensaku2 = preg_match('/title="([^"]*)" class=crosslink/', $str, $match);
if($kensaku2 == FALSE){
break;
}else {
$match = $match[1];
array_push($word, $match);
}
$pos = strpos($str, $match);
$str = substr($str, $pos+$kensaku2);
}
print_r($word);
とした場合の結果
Array
(
[0] => IPアドレス
)
これで何が不満?
02462192006/11/10(金) 01:43:41ID:0rGbXNdx
>>245
いえ、全くございません。ありがとうございます。
$match = $match[0]; だと、
Array ( [0] => title="IPアドレス" class=crosslink
となってしまったのに、
$match = $match[1]; とすると
正しく、Array ( [0] => IPアドレス と表示されました。
無知な私に[0],[1]とで、どのような違いがあるのか教えていただけると
ありがたいのですが。
0247nobodyさん2006/11/10(金) 01:59:11ID:???
ここってPHPとMySQLに関することは聞いては駄目なのでしょうか?
データベース板には質問スレとか無くて・・・。
02482462006/11/10(金) 02:15:29ID:0rGbXNdx
なるほど。preg_matchの使い方が理解できました。
0249nobodyさん2006/11/10(金) 02:20:14ID:???
>>247
ここらへんのスレで聞いたらいいんじゃね?

MySQL 5.0
http://pc8.2ch.net/test/read.cgi/db/1081818145/

mysqlについて語ろう
http://pc8.2ch.net/test/read.cgi/db/1056947097/

PHPに依存した部分がある質問ならここでもいいけど。
0250nobodyさん2006/11/10(金) 02:26:06ID:???
ファイルのアップロードに関して、どちらかというとタグ的な内容を含んだ質問になるのですが、
複数の連番ファイルを一括してアップできるスクリプトを作ろうと思っています。

通常ファイルのアップには「参照」ボタンを押すなりして、ファイルへのパスを入力する必要がありますが、
その際に「E:\jpg\01.jpg」を指定したとして、「E:\jpg\30.jpg」までを一括してアップさせることは可能でしょうか。

fileにはvalue値の設定ができないため、そのような処理は不可能でしょうか。
ユーザがいちいち30個の欄に1.jpg、2.jpg・・・と指定する手間を省けるスクリプトを作ろうとしています。

環境 => OS:FC3 PHP:5.1.5
0251nobodyさん2006/11/10(金) 02:34:22ID:???
ちみは、自分の知らないうちにPCの中のファイルを勝手にアップロードされたらどう思う?
0252nobodyさん2006/11/10(金) 02:35:52ID:???
>>250
zipにしてアップロード。
0253nobodyさん2006/11/10(金) 02:41:56ID:???
>>250
できないことはないけど、利用者にはわかりにくくなりそう。ファイル名とかある程度固定されちゃうだろうし。
0254nobodyさん2006/11/10(金) 02:43:36ID:???
>>249
以前何度か聞いたのですが、板自体が過疎化しているので、回答がありませんで・・。
やりたいことは、MySQLの特定のテーブルにデータが入っていたらTRUE
入っていなかったらFALSEで分岐出来たらいいのです。
<?php
$sql = "select * from test_table";
$rst = mysql_query($sql, $con);
if(rst){
while($row = mysql_fetch_array($rst)) {
echo $col["id"];
}}else{
echo"登録がありません";
}
?>

こういうので出来ると思ったのですが、無理みたいで・・。
もしよろしければアドバイスいただけると助かります。
0255nobodyさん2006/11/10(金) 02:54:25ID:???
>>254
$sql = "select * from test_table";
$rst = mysql_query($sql, $con);
if(mysql_num_rows($rst)){
while($row = mysql_fetch_array($rst)) {
echo $col["id"];
}
}else{
echo"登録がありません";
}
かな
02562542006/11/10(金) 03:04:48ID:???
>>255
出来ました!mysql_num_rowsを使うんですね。
勉強になりました。ありがとうございます。
0257nobodyさん2006/11/10(金) 03:16:23ID:???
>>250
通常fileタイプのinputタグのvalueは無視されるから、
サーバーサイドでやるのは無理。
02582502006/11/10(金) 03:18:25ID:???
レス�dクスです。やはり余り現実的でないということでしょうか。
とりあえずZIPにするよう促すようにしてみます。

実はZIPにする手間を省くのが目的だったりしてます。
サーバ側でzip圧縮すればユーザの手順は簡略されますし。
(一昔前だとZIP圧縮するだけでもPCがモタついてイライラした記憶が・・・)
0259nobodyさん2006/11/10(金) 07:09:48ID:???
>>257
クライアントサイドでも無理
0260nobodyさん2006/11/10(金) 07:47:27ID:???
クライアントサイドなら方法が無いわけでもない。
ただし敷居が高いうえに、板違い。
0261nobodyさん2006/11/10(金) 08:21:45ID:???
まさかIEコンポーネントだのActiveXだのFirefoxのエクステンションとか言い出さないよね?
0262nobodyさん2006/11/10(金) 08:56:36ID:???
Javascriptだけでで叶姉妹
0263nobodyさん2006/11/10(金) 09:54:51ID:???
JSじゃムリじゃない?ActiveXならできるけど。
0264nobodyさん2006/11/10(金) 10:36:19ID:cXndf+IB
uwscスクリプト使えば可能
0265nobodyさん2006/11/10(金) 11:27:21ID:???
そのスクリプトをサーバーサイドから呼び出すことはできんのか?
0266nobodyさん2006/11/10(金) 11:59:28ID:???
<body>
<p>001</p>
<p>002</p>
<p>003</p>
</body>

上記のような分で、
<p></p>に囲まれている部分だけ取得して配列に格納したいのですが、
どのような方法があるのでしょうか?
0267nobodyさん2006/11/10(金) 12:01:39ID:???
preg_match_all()
XML_HTMLSax3
0268nobodyさん2006/11/10(金) 13:54:08ID:???
>>266
頑張ればstrpos+substrでもできなくはないよ
0269nobodyさん2006/11/10(金) 15:20:56ID:yWCpYZUV
正規表現で文字列を取り出し、配列に格納し、出力すると
Array ( [0] => Array ( [0] => A [1] => B [2] => B [3]=> C
[4] => D [6] => F)
となり、[1]と[2]の値が同じなので、array_uniqueで置換すると、
Array ( [0] => Array ( [0] => A [1] => B [3]=> C
[4] => D [6] => F)
というふうに、配列の番号が詰められず、[1]の次が[3]となってしまいます。
うまく配列の番号を詰める(連番となる)にはどうすれば良いでしょうか?
0270nobodyさん2006/11/10(金) 15:24:50ID:???
array_valuesでもかければ?
0271nobodyさん2006/11/10(金) 15:28:46ID:???
>>269
arraymergeでもインデックスの付け直しが出来た気がする
0272nobodyさん2006/11/10(金) 15:29:33ID:yWCpYZUV
>>270
array_valuesでできました。ありがとうございます。
0273nobodyさん2006/11/10(金) 15:31:51ID:1a5fPov5
サーバサイドの利用可能なドライブ情報を取得したいのですが、
何か良い方法はあるでしょうか?
公式マニュアルは参照しましたが、カレントディレクトリの情報は
取得できるものの、ドライブ情報を取得できるものは見当たりませんでした。

最悪、a:/〜z:/をループさせつつ総当りでscandirとかすることになるのかな
と考えていますが、できれば避けたいと考えています。


環境:WinXP SP2,Apache2.2.3(SSL付き) PHP5.1.6
経験:PHPは10日間くらい。
0274nobodyさん2006/11/10(金) 15:35:55ID:???
>>273
たしかpeclでwin32のapiの関数呼びたい放題のやつがあった気がするので、そっちを当たってくれ。
0275nobodyさん2006/11/10(金) 15:45:50ID:???
>>273
Win32APIにGetLogicalDriveStringsってのがあるから
それをttp://www.php.net/manual/ja/ref.w32api.phpで呼べばいけるんじゃないかな。
0276nobodyさん2006/11/10(金) 15:47:10ID:1a5fPov5
>>274

これかなあ?
http://php.mirror.camelnetwork.com/manual/ja/ref.w32api.php

Win32API使うってのは盲点でした。PHPって手広いなあ。
ちょっといろいろいじってみます。
素早いお答えありがとうございました。
0277nobodyさん2006/11/10(金) 15:49:55ID:1a5fPov5
>>275

うお、追加のお答えありがとうございます。
なんか標準じゃつかない関数みたいなので勉強が必要ですが、
APIの名前教えてもらって助かりました。
0278nobodyさん2006/11/10(金) 16:03:40ID:???
<?
if($name==""){
echo"$nameが空です";
}else{
echo $name;
}

このような入力チェックがあったとして、name以外に変数が増えた時
その分上記のソースをコピーしていました。

しかし、基本的には変数名以外の内容は同じですし、数行のコードをコピーすると
長いので、もっと良い方法が無いかと思い、質問しました。
0279nobodyさん2006/11/10(金) 16:10:47ID:???
>>278
値の整合性チェックは時と場合により結構かわるから、
これをやれば大丈夫というのはないよ
汎用的な validatator も探せばあるだろうけど、使い方が直感的でないこともしばしば

もし、本当に変数名以外に違いがないなら
配列にでも一度入れてループすれば良い

$checkArr = array('name' => $name, 'age' => $age);
foreach ($checkArr as $key => $val) {
 if ($val=="") {
   echo "$keyが空です";
 }
 else {
   echo $val;
 }
}
0280nobodyさん2006/11/10(金) 16:11:36ID:???
>>278
$param_list = array('name', 'hoge', 'hoge2'); //パラメータ名の一覧
foreach($param_list as $param) {
if($_GET[$param] == ""){
echo"$_GET[$param]が空です";
}else{
echo $_GET[$param];
}
}
0281nobodyさん2006/11/10(金) 16:11:37ID:???
お前いつもここに張り付いてんの?
さっさと就職しやがれ!
0282nobodyさん2006/11/10(金) 16:11:44ID:???
>>278
なんか知らんが配列をforeachすりゃいいんでね?

foreach ($_POST as $key => $value) {
 if ($value === "") {
  echo "$keyが空です";
 } else {
  echo $value;
 }
}
■ このスレッドは過去ログ倉庫に格納されています