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

【PHP】気軽にPHP質問スレ

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/07/23(月) 12:46:29.25ID:???
気軽に質問しましょう。
テンプレとかルールは必要ありません。
回答する人はエスパー力を試しましょう。
0507nobodyさん2012/09/30(日) 12:29:21.81ID:???
$user_ID = $_SESSION["login"]["ID"];
0508nobodyさん2012/09/30(日) 12:29:47.03ID:???
$user_id = $row["ID"]
0509nobodyさん2012/09/30(日) 12:34:49.38ID:Pb8UGolb
$i=0;
foreach( ++++++++ ){
$i++;
$Name[i] = ***;
$Number[i] = ***;
}

foreach( .------- ){
$i++;
$Name[i] = ***;
$Number[i] = ***;
}

ここで得られた、$Name[i]と$Number[i] を
$Number[i]が小さい順に並び替えたいのですが、どう書いたら良いのでしょうか?

具体的には、
print <<< page
$Number[1] $Name[1] <br>
$Number[2] $Name[2] <br>
$Number[3] $Name[3] <br>
$Number[4] $Name[4] <br>
page;

こう並び替えて表示したいです。。。
初心者ですが、ご教授ください
0510nobodyさん2012/09/30(日) 12:36:48.43ID:???
numberをキーにしたnameの配列を作りなさい
0511nobodyさん2012/09/30(日) 12:47:47.60ID:???
$i いらね

$User[] = array('name'=> 'a', 'number'=> 4 );
$User[] = array('name'=> 'b', 'number'=> 2 );
$User[] = array('name'=> 'c', 'number'=> 3 );
$User[] = array('name'=> 'd', 'number'=> 1 );

usort( $User ,function ($a,$b) { return $a['number']>$b['number']; } );

foreach($User as $var){
print "{$var['number']} {$var['name']} <br />\n";
}



05125062012/09/30(日) 12:56:33.20ID:???
>>507-508
ありがとうございます
助かりました
0513nobodyさん2012/09/30(日) 12:59:50.10ID:Pb8UGolb
・・・・わからないorz
0514nobodyさん2012/09/30(日) 13:05:02.77ID:???
分からないならPHPなんかやめておけ
0515nobodyさん2012/09/30(日) 13:12:39.17ID:Pb8UGolb
分かるまで頑張ります
0516nobodyさん2012/09/30(日) 13:25:42.23ID:???
>>515
分かんないことは聞いてください

$Name[i]
$Number[i]
のまんまでやるとめんどくさいし、分かりにくいんです。
番号が絶対ダブらないなら
$Name[ 番号 ] = 名前 にして ksort 

foreach($Name as $var => $val){
print "$var $val <br />\n";
}

0517nobodyさん2012/09/30(日) 13:35:27.53ID:???
近ごろの若者と違ってガッツがあるようだな
0518nobodyさん2012/09/30(日) 13:45:28.63ID:???
ageて質問するやつは自演
0519nobodyさん2012/09/30(日) 13:47:52.77ID:???
ルールには書いてないけど、ID出してくれると自演や荒らしと区別できていいね。
0520nobodyさん2012/09/30(日) 15:36:20.45ID:Pb8UGolb
$X[$i] =$Number .'|' .$Name;

asort($X,SORT_STRING);
foreach($X as $key =>$value){
echo "\$X[\"$key\"}=$value<BR>\n";
}


出来ました。。。
アドバイス貰ったやり方と違いますけど、理解出来なかったので、ググってやりたい事は表示出来ました。。
良くない、書き方かもしれないですけど、これでやってみます。
レスくれた方、ありがとうございました
0521nobodyさん2012/09/30(日) 15:51:39.84ID:???
ナンバーの桁数が違うときも正しく動く?
0522nobodyさん2012/09/30(日) 16:37:06.06ID:???
黙れよキチガイ
sage進行もできないカスどもは消えろ
0523nobodyさん2012/09/30(日) 22:45:10.20ID:uQKsNt1P
バインドってなに?バインドかけるのとかけないのとで何がどう変わるの?
0524nobodyさん2012/09/30(日) 22:50:14.31ID:???
どこで見た用語だ?
0525nobodyさん2012/09/30(日) 22:53:03.07ID:uQKsNt1P
>>524
iNSERT文とかUPDATE文とかでbindかけてるプログラム見た
0526nobodyさん2012/09/30(日) 22:57:23.37ID:???
じゃあbindかけるという用語は?
なにをかけてるんだ?
0527nobodyさん2012/09/30(日) 23:02:04.16ID:uQKsNt1P
>>526
そっから実はよくわかってないんだけど。。。
テーブルにある一つのデータにかけるんだよね?
0528nobodyさん2012/10/01(月) 10:41:41.02ID:???
ググってみたけど、
prepareの時の変数のとこで使うのか、バインドって
0529nobodyさん2012/10/01(月) 11:28:59.77ID:???
この流行らないクソスレでageて質問するやつは立てたやつの自演
0530nobodyさん2012/10/01(月) 11:37:03.04ID:???
>>529
http://www4.atwiki.jp/agesage/pages/6.html
0531nobodyさん2012/10/01(月) 11:41:23.28ID:???
よおカスども
0532nobodyさん2012/10/01(月) 13:20:00.69ID:???
>>527
bindParamとかのことでしょ
『prepare SQLインジェクション プレースホルダ』あたりでググれ
0533nobodyさん2012/10/01(月) 23:40:39.20ID:???
馬鹿丸出し
0534nobodyさん2012/10/02(火) 07:14:45.55ID:???
プレイスホールダー
0535nobodyさん2012/10/02(火) 11:21:42.95ID:TX+LblvD
@ページというサーバーで、ある程度土台作って、ある程度できたので
ロリポップのロリポプラン(PHP可)に移行したのですが、
同じファイルをUPして実行しても、
エラーが出てしまいます。
具体的には
Warning: Invalid argument supplied for foreach() in /home/users/0/○○○.jp-○○○/web/***.php on line 273
です。
サーバーによって、こういう事って起こり得るんでしょうか?
また、対処の仕方があったら、教えてください
よろしくお願いします
0536nobodyさん2012/10/02(火) 11:57:16.80ID:TX+LblvD
解決出来ました。
0537nobodyさん2012/10/02(火) 12:05:07.43ID:???
黙れカス
0538nobodyさん2012/10/02(火) 13:17:48.14ID:MKy43BCW
今まで普通に動いていたphpが数日前から動かなくなっていました。
ページには

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Warning: Unknown: Failed opening '/tmp/.tmp.err' for inclusion (include_path='.:') in Unknown on line 0

と表示されています。
Pleskの入ったVPSなのですが、
何をどうすれば元に戻るでしょうか?

よろしくお願いします。
0539nobodyさん2012/10/02(火) 13:22:12.37ID:???
IDかえてまで自演おつかれ
0540nobodyさん2012/10/02(火) 13:33:02.52ID:???
>>538
httpd.confの
php_value auto_prepend_file "/tmp/.tmp.err"
を
php_value auto_prepend_file none
でapatch再起動
Pleskのアップデートでなんかあったんだろう
0541nobodyさん2012/10/02(火) 14:06:10.86ID:???
$hogeList = array( "tokyo"=>"東京", "osaka"=>"大阪", "nagoya"=>"名古屋");
のような配列があるとして、keyかvalueどちらかを与えたら対応するものに変換する、
key←→valueのような関数を作りたいです。
どちら向きかは呼び出し時に決定・valueは重複なしという前提で考えて
function searchValue($arg){
return $hogeList[$arg];
}
function searchKey($arg){
$result = array_keys($hogeList,$arg);
return $result[0];
}
前者はわざわざ関数にするまでもないですが、後者はこのような考え方でいいのでしょうか。
それとも、こういった相互変換にもっと都合の良い関数や手法があるのでしょうか。
0542nobodyさん2012/10/02(火) 14:10:21.66ID:???
自演回答おつかれ
0543nobodyさん2012/10/02(火) 14:11:54.88ID:???
array_searchかな
0544nobodyさん2012/10/03(水) 05:41:29.91ID:???
レン鯖初心者で良くわからないことがあるんですが
finfo_open()やfinfo_file()のメソッドが使えないのは
サーバ側がそういう機能に対応させてないってことですか?
またこれについてはクライアント側では何の対応のしようもないんですか?
よろしくお願いします。
05455442012/10/03(水) 06:17:17.92ID:???
すいません。↑の質問解決しました。
虫してください。
0546nobodyさん2012/10/04(木) 13:17:03.14ID:yL8HTCOy
$xml = simplexml_load_file();
上記の部分で
「failed to open stream: Connection timed out 」
というエラーが出てしまいます。
タイムアウトなのは、分かるのですが、
エラー発生の回避方法と、エラー時にサイト上にエラーコードが現れない様にする方法教えて貰えないでしょうか?
0547nobodyさん2012/10/04(木) 14:11:04.73ID:???
http://php.net/manual/ja/function.simplexml-load-file.php
Notes 上から3とか8とか
0548nobodyさん2012/10/04(木) 14:11:15.29ID:UJsxuF9k
条件を変えて同じプログラムを何度も実行する方法

【現状】
a.php:MySQLからデータを呼び出して件数をカウントするプログラムが書いてある。
これをb.phpで require("./a.php"); と何度も呼び出して使っている。

【やりたいこと】
これをスマートに一つのファイルb.phpにまとめたい。
これはどういった関数を使うと出来ますでしょうか?
関数だけ教えて頂ければ、あとは自分で検索して勉強します。
0549nobodyさん2012/10/04(木) 14:18:14.54ID:???
a.phpを関数なりクラスにして一回だけrequireして
そのクラスなり関数を好きなだけ使ってください。

a.phpの内容をb.phpにまとめるのはスマートじゃないかも。
0550nobodyさん2012/10/04(木) 15:04:52.74ID:???
このスレでわざわざageて質問するやつはスレ盛り上げのための自演
0551nobodyさん2012/10/04(木) 16:36:41.07ID:???
全然盛り上がってないけどな
0552nobodyさん2012/10/05(金) 11:02:03.56ID:vKK11oNI
1つのページに3回ぐらいsimplexml_load_file();を実行しているせいか
ページ表示に4秒ぐらいかかります。
キャシュが効いていれば、すぐ表示されるのですが、
データーの絞込みなどをすると、また3回実行されて、その度、表示に4秒かかります。
なにか、表示速度が速くなる方法、もしくは「loading」みたいに表示させる方法ってないでしょうか?

0553nobodyさん2012/10/05(金) 11:12:41.17ID:???
その読み込んでるxmlは他の人が公開してるもの?ネット経由するんなら重いのはしょうがないね
読込中とかNowLoading...とか表示させたいならAjaxで呼び出してJavascriptで入れたいdivなりtableなりに突っ込めばいい
読み込みに行ってから結果が返ってくるまでの間に「読込中」とか書いておけばいい
0554nobodyさん2012/10/05(金) 11:44:16.46ID:vKK11oNI
>>553
ありがとう
余計な読み込み、外してみたら2秒にまで縮まりました
もっと、見直してみます
0555nobodyさん2012/10/05(金) 12:45:10.54ID:???
>>552
サーバ側でキャッシュすれば?
0556nobodyさん2012/10/05(金) 13:14:18.81ID:vKK11oNI
>>555
初心者なので、やり方分からないのですが、
ネット経由で読み込んだxmlをサーバーに保存して、自サーバーに読みに行く様にするって事ですか?
0557nobodyさん2012/10/05(金) 13:37:15.05ID:???
このスレでわざわざageて質問するやつはスレ盛り上げのための自演
0558nobodyさん2012/10/05(金) 16:07:31.62ID:???
アクセスされるたびに他人のxml読みに行ってたら怒られるよ
0559nobodyさん2012/10/05(金) 16:48:12.25ID:???
>>556
htmlならいいんだw
0560nobodyさん2012/10/05(金) 17:00:39.10ID:vKK11oNI
ありがとうございます
キャッシュ出来ました・・・

0561nobodyさん2012/10/05(金) 17:32:04.28ID:???
だまれカス
つぎageたら警察に通報するぞ
0562nobodyさん2012/10/05(金) 17:38:53.39ID:???
何の罪だ?
0563nobodyさん2012/10/05(金) 18:30:04.47ID:???
軽犯罪法違反
0564nobodyさん2012/10/05(金) 18:36:40.58ID:???
何条何項?
0565nobodyさん2012/10/05(金) 18:40:59.19ID:???
>>556
初心者を免罪符にすれば許されると思ってる辺りがゴミクズ
0566nobodyさん2012/10/05(金) 18:47:44.99ID:???
>>564
第1条第1項第4号
0567nobodyさん2012/10/05(金) 18:54:36.03ID:???
軽犯罪法 第1条 第1項 第4号
生計の途がないのに、働く能力がありながら職業に就く意思を有せず、且つ、一定の住居を持たない者で諸方をうろついたもの
0568nobodyさん2012/10/05(金) 21:04:49.33ID:vKK11oNI
simplexml_load_string();だと開けるのに
file_get_contents();だとエラー「 failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request 」
が出ます。
これってどういう理由が考えられますか?
キャッシュ作製するのに、file_get_contents();使いたいのですが、1つのURLだけエラーが出てしまいます
分かる方、アドバイスください。お願いします
0569nobodyさん2012/10/05(金) 22:11:17.04ID:???
確信犯だな
こいつ絶対>1だろ
オナニーは一人でやれ迷惑だカスが
はい通報
0570nobodyさん2012/10/05(金) 23:01:13.91ID:???
>>568
simplexml_load_string は ファイルの読み込みしねーし
0571nobodyさん2012/10/05(金) 23:06:37.54ID:???
回答してるやつも自演
0572nobodyさん2012/10/05(金) 23:18:42.50ID:???
わざわざID用スレあるのにわざわざこっちでID出してるやつが毎回質問してるしな。
しかも毎回煽りには徹底的にスルーと一貫している。
本当の初心者ならここはageちゃだめなんですか?とか聞き返してくるからな。
0573nobodyさん2012/10/06(土) 01:08:09.14ID:???
スルーするのはいいことだと思う
0574nobodyさん2012/10/06(土) 01:13:18.74ID:???
下らないスレの質問者はスルーできないのに
なぜかこっちのスレはみんなスルーできて優秀だね
まるで一人が頑張って質問してるようだ
心が1つとは素晴らしいね
0575nobodyさん2012/10/06(土) 05:19:23.42ID:YvGSfx4v
Perlの初心者スレは、機能してないから、スレッドごとあぼーんしました。PHPは、だいじょうぶですか
0576nobodyさん2012/10/06(土) 11:24:40.05ID:???
ageるなカス
こいつも自演
0577nobodyさん2012/10/06(土) 11:32:10.23ID:???
>>567
これヤベーと思ったけど、ハロワに登録すればニート扱いではなくなるらしいから
登録しておけば職業に就く意思だけはあるとみなされるんだろうか?
0578nobodyさん2012/10/06(土) 11:38:19.47ID:???
住所不定やニートなのが問題なのではない
問題なのはニートかつ住所不定なことだ
0579nobodyさん2012/10/06(土) 12:03:10.04ID:???
一定の住居はあるから大丈夫

住所不定無職が逮捕されてるのはそのせいか
0580nobodyさん2012/10/07(日) 00:03:20.42ID:9pAsnzYP
phpでsqlを実行して検索を行うシステムを大学の課題で作っているんだが

while($arr = pg_fetch_row($rs)){
for($i = 0; $i < count($arr); $i++){
$arr[$i] = mb_convert_encoding($arr[$i], "sjis", "auto");
}
    $src .= "<tr><td>{$arr[0]}</td><td>{$arr[1]}</td></tr>"; // *1 と対応させてarrを一つづつ足していけば表示項目が増やるよ
}
こんな感じで取得した項目に詳細を表示させるためのリンクを張りたいんだが
 $src .= "<tr><td>{$arr[0]}</td><td>{$arr[1]}</td></tr>";
の部分にリンクタグをうめこんでもどうにもうまくいかない
だれか助けてください
0581nobodyさん2012/10/07(日) 00:09:48.80ID:???
黙れ
いつものように一人で回答ごっこしてろ
0582nobodyさん2012/10/07(日) 00:11:27.91ID:???
プログラムの話してるのに「どうにも」とか「うまく」とかフィーリングな言葉使わなないでくれ。
0583nobodyさん2012/10/07(日) 00:12:25.82ID:???
大学でphpとは笑えるな
0584nobodyさん2012/10/07(日) 00:16:07.81ID:9pAsnzYP
>>580
すまない
現状では検索してテーブルで表示させるところまでは無事に動いてる
だが、$srcの部分にリンクタグを埋め込むとエラーになってしまうんだ
0585nobodyさん2012/10/07(日) 00:19:25.93ID:???
大学の課題は大学で聞け
0586nobodyさん2012/10/07(日) 00:20:37.44ID:???
>>580
スレ違いです。宿題スレに行ってください。
こうやったけど動かないってとこまで行ったら ここにそれ書いてください。
0587nobodyさん2012/10/07(日) 00:21:08.22ID:???
だから「エラーが出ます」とか論外だろと言ってるんだ。そこらのパソコン始めたばかりのおじさんじゃないんだから。
プログラムやってるんだから、情報・工学系の大学だろ。もう少し論理的・客観的に考えることを学ばないとだめね。
0588nobodyさん2012/10/07(日) 00:33:46.96ID:???
ゆとり世代なんだ察してやれ
0589nobodyさん2012/10/07(日) 00:52:26.07ID:???
大学にまで行ってPHPなんかやってんの?
親が悲しむぞ
0590nobodyさん2012/10/07(日) 01:28:02.75ID:???
さすがに大学の講義でPHPは使わんだろw
Webアプリ作る課題だされてPHP選んだだけで。
0591nobodyさん2012/10/09(火) 10:28:50.18ID:???
>>577
>働く能力がありながら
ここが欠けているから大丈夫
0592nobodyさん2012/10/09(火) 21:24:57.59ID:???
$_POST['PHPSESSID'] をunset()するメリットってなにがある?
0593nobodyさん2012/10/10(水) 13:25:06.56ID:???
PHP5.4.7で、.htaccessに

php_value mbstring.internal_encoding sjis

を指定すると完全沈黙状態に陥って
リクエストに対してレスポンスが出力されない。
#sjis以外のエンコーディングならOK

これって既知?
エラーさえ出力されないのでしばらくわからなかった・・
0594nobodyさん2012/10/10(水) 13:31:43.33ID:???
>>593
php.iniの設定に
; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
; http://php.net/mbstring.internal-encoding
;mbstring.internal_encoding = EUC-JP
って書いてない?
sjis指定できないんじゃないの?
0595nobodyさん2012/10/10(水) 13:37:31.70ID:???
ウゲっ いつの間に…

情報ありがとう
0596nobodyさん2012/10/10(水) 21:26:42.53ID:???
sjisはねーよな・・・
0597nobodyさん2012/10/10(水) 21:33:05.85ID:???
カスにはちょうどいい
0598nobodyさん2012/10/10(水) 22:35:17.28ID:???
メモ帳しか使えないクズ
0599nobodyさん2012/10/11(木) 12:33:36.00ID:???
PHPに限らないとは思うんですが
tabによるインデントを普通にtabでやってるんですが
半角スペース4個が常識だろって言われました。
2年ほどPHPを個人でつくってきて、他の方とやるのは今回がはじめてなんですがそういうもんなのでしょうか?
0600nobodyさん2012/10/11(木) 12:40:21.05ID:???
さまざま。
人にコード渡すとき、整形ツールでへんかんしたらいい。
0601nobodyさん2012/10/11(木) 12:57:00.25ID:???
共同開発ならどちらかに統一する
統一しないと差分がぐちゃぐちゃになる

エディタによるが4空白よりタブが楽だし
サイズが小さい

タブ文字を4文字の幅で表示できるエディタもある
0602nobodyさん2012/10/11(木) 14:24:31.65ID:???
PEAR
http://pear.php.net/manual/ja/standards.indenting.php
> インデント
> 空白 4 つのインデントを使用します。タブは使いません。


PSR-2
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
> 2.4. Indenting
> Code MUST use an indent of 4 spaces, and MUST NOT use tabs for indenting.

> A.3. Survey Results
indent_type:
tab: 7
2: 1
4: 14


主流は半角スペース4個
0603nobodyさん2012/10/11(木) 14:27:25.75ID:???
タブ押したら4文字単位でスペース入るようにすりゃいいね
0604nobodyさん2012/10/11(木) 14:27:54.45ID:???
お前の中での主流だろpgr
0605nobodyさん2012/10/11(木) 14:32:59.99ID:???
PEARとZendFrameworkが半角スペース4個なんだから
それが主流だろ

ハードタブはCakeくらいだよ
0606nobodyさん2012/10/11(木) 14:51:42.10ID:???
Java使いだから俺はタブ
0607nobodyさん2012/10/11(木) 14:54:03.83ID:???
ここPHPのスレだからね
■ このスレッドは過去ログ倉庫に格納されています