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

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

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


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

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0484nobodyさん2010/08/30(月) 17:59:41ID:???
そこは引数です
0485nobodyさん2010/08/30(月) 18:05:32ID:???
>>483
そのfunctionに渡したい値(引数)

この程度で質問にくるようだとキリがないよ
何か本買った方がいいんじゃない?
0486nobodyさん2010/08/30(月) 18:13:57ID:???
>>483
http://jp.php.net/manual/ja/index.php
0487nobodyさん2010/08/30(月) 18:56:15ID:H9RFX+D7
SQLが成功したかどうかってどうやって調べたら良いのですか?
結果によってメッセージ等を表示させたり処理を分岐したいのですが・・・。
0488nobodyさん2010/08/30(月) 18:59:28ID:???
pgr
0489nobodyさん2010/08/30(月) 19:13:35ID:???
>>487
DBの接続は何を使ってる?
PDOならこんな感じ

try{
// クエリを発行
} catch (PDOException $e){
// エラー処理
}
0490nobodyさん2010/08/31(火) 00:42:22ID:???
PHPの変数のスコープって関数の内外だけって考えればOKですか?
JavaScriptみたいにブロックがスコープ持たないんですよね?
0491nobodyさん2010/08/31(火) 06:30:13ID:???
function urltest($text)
{
$extensions = 'com|org|net|gov|edu|mil|us|info|biz|ws|name|mobi|cc|tv|jp';
$patterns = array(
'#([\s{}\(\)\[\]])(([a-z]+?)://([a-z_0-9\-]+\.([^\s{}\(\)\[\]]+[^\s,\.\;{}\(\)\[\]])))#ie',
"#([\s{}\(\)\[\]])([a-z0-9\-\.]+[a-z0-9\-])\.($extensions)((?:/[^\s{}\(\)\[\]]*[^\.,\s{}\(\)\[\]]?)?)#ie"
);
$replacements = array(
"'$1<a href=\"$2\" title=\"$2\">' . 'Link' . '</a>'",
"'$1<a href=\"http://$2.$3$4\" title=\"http://$2.$3$4\">' . 'Link' . '</a>'"
$text = preg_replace($patterns, $replacements, $text); <------ この行でエラー出る。何かおかしいですか?
return($text);
}
0492nobodyさん2010/08/31(火) 07:33:13ID:???
$replacements = array(
の閉じカッコ
0493nobodyさん2010/08/31(火) 08:16:28ID:???
http://example.com:8080/とかhttp://192.168.1.1/も正しいURL(ry

((https?|ftp)\:\/\/)?([\w-]+\.)+([\w-]+)(\:[\d]+)?([\w\.\*\/\:%,!#~@&=-]+)?

これでURLはマッチすると思う
0494nobodyさん2010/08/31(火) 08:49:22ID:???
>>489
PDOだとsetAttributeで設定するPDO::ATTR_ERRMODE属性の値で
エラー時の動作が違うよ。詳しくはマニュアル嫁
0495nobodyさん2010/08/31(火) 10:08:13ID:mnh9hvQe
質問です

自前で作ったクラスを、配列であるかのように扱いたいのですが、ちょっと困っています。

ArrayAccess インターフェイスなどを使って、とりあえず一通り実装してみたのですが
array_mergeのような「配列操作関数」に渡すと、お前配列じゃないよねと関数が失敗してしまいます。

私の実装の仕方がまずいのかなと思い、標準のArrayObjectでも試してみたのですが、
array_mergeはArrayObjectも受け付けてくれませんでした

配列操作関数もうけつけてくれる、配列であるかのようなクラスを作るにはどうしたらよいでしょうか?
0496nobodyさん2010/08/31(火) 10:48:36ID:???
phpの仕様を修正して処理系を作り直す
0497nobodyさん2010/08/31(火) 10:50:56ID:???
>>494
質問の書き方から、初心者と察したので
そういうのまで書くと余計に混乱すると思ったんだが
言葉足らずだったか、補足thx
0498nobodyさん2010/08/31(火) 12:03:21ID:???
入門書とかは未だにPDO使おうとしてなかったりするからな
04994872010/08/31(火) 12:18:33ID:nqVyEYky
>>497
ありがとう。何となくわかりました。
今は私もPDOを使ってます。

>>498
今ってPDOが人気なんでしょうか?
プレースホルダの動作にセキュリティの問題があるとかで、非推奨、
なんて話を聞いたので、どうしたものかと思ってました。
0500nobodyさん2010/08/31(火) 12:33:06ID:???
おまえはPDO云々の元記事を理解出来てないだろ
0501nobodyさん2010/08/31(火) 14:49:30ID:naNUn36r
http://hoge.com/123.cgi?home=1

を表示したいんだけど、

<?php
require("123.cgi?home=1");
?>

で呼び出せません。
includeでもだめでした。

どうすれば呼び出せますでしょうか?
誰か教えてください。
よろしくおねがいします。
0502nobodyさん2010/08/31(火) 14:57:15ID:???
>>147
亀で申し訳ないんだけど一応報告。
ここの内容に該当してました。

ttp://www.phppro.jp/qa/1577
0503nobodyさん2010/08/31(火) 14:57:40ID:???
HOGE LUMBER COMPANYに怒られないようにしろよ
0504nobodyさん2010/08/31(火) 17:10:42ID:???
>>501
file_get_contents
0505nobodyさん2010/08/31(火) 17:25:48ID:???
>>501
>>4
0506nobodyさん2010/09/01(水) 06:43:43ID:o7qUnh2A
【OS名】CentOS
【PHPのバージョン】5.3.3
【連携ソフトウェア】MySQL
【質問内容】
Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings.
You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.
We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /var/www/html/phpinfo.php on line 9

date関数を使うとこのエラーが出るのでphp.iniに
date.timezone = Asia/Tokyo
と設定しましたがエラーが消えません(コメントアウトは外しました)。
phpファイルに
date_default_timezone_set('Asia/Tokyo');
を記述すると消えます。

試したこと
date.timezone = "Asia/Tokyo" とダブルコーテーションで囲ってみたけどダメだった。
ini_get('date.timezone') をechoしてみたが何も表示されなかった。
php.iniのファイルパスは確認しています。
php.ini修正後にapacheは再起動しています。

どなたかお願いします><;
0507nobodyさん2010/09/01(水) 07:48:33ID:???
>>506
とかなんとか言いながらpath間違ってんだろ
0508nobodyさん2010/09/01(水) 10:34:04ID:???
;
0509nobodyさん2010/09/01(水) 13:54:56ID:???
Apache再起動してみろ
0510anybody2010/09/01(水) 14:19:00ID:???
URL入力したら、htmlソースのh1とh2タグの中身を抽出して表示してくれる
phpソースを探してます。ライブラリー、コードのアドバイスいただけますか。
0511nobodyさん2010/09/01(水) 15:10:34ID:???
性器表現
0512anybody2010/09/01(水) 15:21:15ID:???
>>511 正規表現ですか。ライブラリーとか使わず出来るってことですか?
0513nobodyさん2010/09/01(水) 15:25:18ID:???
<(chi|ma)nko>(.*?)</\1nko>
0514anybody2010/09/01(水) 15:28:25ID:???
>>513 
すいません、何となくわかりそうで分からないです。何かヒントいただけますか。
0515nobodyさん2010/09/01(水) 15:37:18ID:???
>>514
<h(1|2)>(.*?)</h(1|2)>
0516nobodyさん2010/09/01(水) 15:43:30ID:???
>>510
正規表現は他の人にまかせるとして
HTMLソースはfile_get_contentsでとってこれる

PHP: file_get_contents - Manual
http://jp2.php.net/manual/ja/function.file-get-contents.php
0517anybody2010/09/01(水) 15:56:22ID:???
>>516 ありがとうございます。
hタグの中身だけを表示するには、file_get_contentsで範囲指定するばいいのですか。

まだphp初めて間もないのですいません。
0518nobodyさん2010/09/01(水) 16:18:58ID:???
>>517
まず、file_get_contentsで指定したURLのHTMLソースを全部とってくる
次に、とってきたソースからh?タグを正規表現で抜き出す。

HTMLソースは>>516のマニュアルの
「例1 とあるウェブサイトのホームページのソースの取得と出力」
を試してみて
0519nobodyさん2010/09/01(水) 16:34:07ID:???
>>517

$subject = file_get_contents("http://www.yahoo.com/"); // >>516
$pattern = '/<h[12].*?>(.*?)<\/h[12]>/is';
preg_match_all($pattern, $subject, $matches); // http://jp.php.net/manual/ja/function.preg-match-all.php

var_dump($matches);
0520nobodyさん2010/09/01(水) 16:40:58ID:???
なにこれ釣り? 桜?
0521anybody2010/09/01(水) 17:36:27ID:???
>>516
>>518
>>519

アドバイスありがとうございます。 >>519のコード試したら出来ました。
これから自分でも書いてみてみようと思います。並び替えとか表示の仕方を書いてみようと思います。
アドバイスしてくれた方ありがとうございます。
0522nobodyさん2010/09/01(水) 18:19:47ID:AryEx4i2
$text = ' ' . $text;
#URL
$text = preg_replace("/(((http[s]?:\/\/)|(w\.))?(([a-z][-a-z0-9]+\.)?[a-z][-a-z0-9]+\.[a-z]+(\.[a-z]{2,2})?)\/?[a-z0-9._\/~#&=;%+?-]+[a-z0-9\/#=?]{1,1})/is", "<a href=\"$1\">$1</a>", $text);
#mail
$text = preg_replace("#(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $text);
$text = substr($text, 1);
return($text);
で、なんとかマッチするようになりましたが、問題が出てきました

http://www.google.co.jp/ ⇒ <a href="http://www.google.co.jp/">http://www.google.co.jp/<;/a>
www.google.co.jp ⇒ <a href="www.google.com">www.google.com</a>
hoge@'hogehoge.com ⇒ <a href="mailto:hoge@'hogehoge.com">hoge@<a href="hogehoge.com">hogehoge.com</a></a>
こんな感じになってしまうのですが以下のようにしたいのです。
<a href="http://www.google.co.jp/">www.google.co.jp</a>
<a href="http://www.google.com">www.google.com</a>
<a href="mailto:hoge@'hogehoge.com">hoge@hogehoge.com</a>
力を貸してください。
0523nobodyさん2010/09/01(水) 20:46:21ID:???
置換後の文字を次のパターンで置換するからpreg_replaceでは無理です
0524nobodyさん2010/09/02(木) 08:54:57ID:???
最初のpreg_replaceの正規表現に戻り読みで@がない条件をつければなんとかなんじゃね?
0525nobodyさん2010/09/02(木) 10:44:58ID:???
hoge@'(←クォートが入ってる)hogehoge.com
クォートを除去してaタグにしたいってことだよね?
0526nobodyさん2010/09/02(木) 11:47:25ID:DFmmGQxC
みんな開発環境は何を使ってるんですか?
いちいちechoとかprint文を書くのが面倒なのですが、
簡単にデバッグするにはどうしたらよいですか?
0527nobodyさん2010/09/02(木) 11:48:07ID:BtsWFfEu
>>523
>>524
どうすればいいですかね?

>>525
ttp://www.google.co.jp/ ⇒ <a href="ttp://www.google.co.jp/">ttp://www.google.co.jp/</a>
www.google.co.jp ⇒ <a href="www.google.com">www.google.com</a>
hoge@'hogehoge.com ⇒ <a href="mailto:hoge@hogehoge.com">hoge@<a href="hogehoge.com">hogehoge.com</a></a>
こんな感じになってしまうのですが以下のようにしたいのです。
<a href="ttp://www.google.co.jp/">www.google.co.jp</a>
<a href="ttp://www.google.com">www.google.com</a>
<a href="mailto:hoge@hogehoge.com">hoge@hogehoge.com</a>

の間違いです。
0528nobodyさん2010/09/02(木) 13:36:28ID:???
元々の質問でメールなんて無かったろ最初から書けよ

$pattern = "/((^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+))|(((http[s]?:\/\/)|(w\.))?(([a-z][-a-z0-9]+\.)?[a-z][-a-z0-9]+\.[a-z]+(\.[a-z]{2,2})?)\/?[a-z0-9._\/~#&=;%+?-]+[a-z0-9\/#=?]{1,1})/i";
$match = null;
$res = preg_match_all($pattern, $text, $match);

var_dump(array($res,$match));

正規表現は書いてあるのをほぼそのまま使ったからもっと短くはできるはず
あとはmatchを見ながらてきとうにしろ
もしくは

function replacement($match){
  ここで$matchを見ながら変換
  return 変換後の文字列;
}
$res = preg_replace_callback($pattern, 'replacement', $text);

こんな感じでやるかだな
0529nobodyさん2010/09/03(金) 02:11:51ID:NkeDLnjN
>>526
function d() {
echo '<pre style="text-align:left;background:#fff;color:#333;border:1px solid #ccc;margin:2px;padding:4px;font-family:monospace;font-size:12px">';
foreach (func_get_args() as $v) var_dump($v);
echo '</pre>';
}
0530nobodyさん2010/09/03(金) 12:26:39ID:uUm5hE++
php5.2.xで作ったプログラムの中に<?=$hoge?>こういうので出力してるところがあるんだけど、
php5.3.xだとエラーになる。
これどうしたらいいのか教えて下さい。
全部<?php echo $hoge;?>に変換するのかな・・・?
あと<?=$hoge?>←この書き方って名前なんていうか知ってたら教えて欲しい
よろしくお願いします
0531nobodyさん2010/09/03(金) 12:34:53ID:???
php.ini
0532nobodyさん2010/09/03(金) 12:35:25ID:???
short_open_tagの設定が有効か確認しろ
まぁ普通に変えたほうが良いと思うがな

http://jp.php.net/echo
0533nobodyさん2010/09/03(金) 12:46:56ID:uUm5hE++
>>531
>>532
ありがとうございます><
0534nobodyさん2010/09/03(金) 18:29:32ID:???
>>526
xdebug
0535nobodyさん2010/09/04(土) 15:46:22ID:???
だいぶ前ですが、会社のCentOSにphp5.0をソースからインストールしました。
このPCでphp5.3にアップデートする必要があるのですが、
どのように対応すればいいのか分かりません。
php以外にも色々アップデートする必要があり、今後も同じような要望が出そうなため
ちゃんと管理できるようなインストール方法を探しております。

具体的には、/usr/local/直下の、
binディレクトリやlibディレクトリなどにばらばらとファイルがインストールされているようです。
どこに何がインストールされたのかを見定めて取り除くのは困難です。
一般的にはどのように管理してバージョンアップするのでしょうか。

自分で考えたのは、
/usr/local/php/のようなディレクトリを作り、その下にさらに
/usr/local/php/php5.0
/usr/local/php/php5.3
のようにディレクトリを作って別々にインストールするというやり方です。
そうすれば、この後php5.4が出てインストールする必要があっても、
/usr/local/php/php5.4に入れて、phpコマンドのシンボリックリンクを修正すれば対応できそうです。
この方法は問題ありますでしょうか?
05365352010/09/04(土) 15:46:55ID:nNHV9LL2
すいません。ID出し忘れました。
0537nobodyさん2010/09/04(土) 16:43:53ID:???
php5.3をソースからインストール
05385352010/09/04(土) 17:03:51ID:nNHV9LL2
>>537
ありがとうございます。
php5.0を削除せずに、make installして上書きしてしまう
ということでしょうか?
0539nobodyさん2010/09/04(土) 17:12:55ID:???
yum
0540nobodyさん2010/09/04(土) 18:01:57ID:???
>>535
そのやり方でいいよ
上書きでもいいけど、そのときは他のマシンで検証しないとだめだし面倒でしょ
0541nobodyさん2010/09/04(土) 22:52:48ID:a77duTj2
【OS名】Windows7
【PHPのバージョン】5.2.14
【連携ソフトウェア】PostgreSQL 8.4
【質問内容】
php.iniでphp_pgsql.dllを読み込むように設定しても
phpinfo.phpにpgsqlの項目が出てきません、
php_pgsql.dllはバグがあると聞いたので古いバージョンの物と差し替えましたがそれでも変わりません
pgsqlを利用するにはどのようにすればいいのでしょうか?
ちなみにlibpq.dllはちゃんとpathの通ったディレクトリに入れてあります。
05425352010/09/05(日) 01:11:06ID:xVoToBO/
>>539
yumは使えれば使いたいのですが、
opensslを使えるようにとの要望がありまして
これがyumインストールだと無理らしいのです。

>>540
ありがとうございます。
このやり方でいくことにします。
何はともあれ実際にやってみるのも勉強な気がしてきました。
0543nobodyさん2010/09/05(日) 01:37:25ID:???
>これがyumインストールだと無理らしいのです。

んなことねー
0544nobodyさん2010/09/05(日) 03:48:13ID:???
各バージョンごとに別ディレクトリでmakeまでやっといて
その日の気分で好きなバージョンをmake install
0545nobodyさん2010/09/05(日) 06:01:18ID:imIw0HZw
VertrigoServeで

Apache?HTTP?server?does?not?work?correctly,?check?whether?other?aplication?use?the?important?port?(80)?and?terminate?them.?moreover?check?firewall?setting?and?correctness?of?the?configuration?files
というエラーがでたんですが、どうしたらいいですか?
05465442010/09/05(日) 06:14:55ID:???
skypeが同じポートを使ってたみたいです
skypeをきったら動作しました
0547nobodyさん2010/09/05(日) 07:50:40ID:???
ニコニコ動画などの動画一覧を作りたいのですが
これから追加される動画全てを漏らさずに取得するのってどうやるんですかね
10分毎にアクセスして取得すればいいのかな・・・
0548nobodyさん2010/09/05(日) 07:55:37ID:???
>>547
それ、PHPの質問じゃねぇじゃん。
使うのがRubyだろうがPythonだろうが、はたまたVBだろうが同じだろ。

ついでにスレタイよく読め。
0549nobodyさん2010/09/05(日) 16:09:18ID:cNhoHi9E
cakePHPなどのMVCモデルで、何行ぐらいのコードになったら別個のファンクションに
するべきか悩んでおります。

コントローラーにはビジネスロジックを書かずに、モデルにどんどん書いています。
すると、今度はモデル内のコードがごちゃごちゃしてきました。

繰り返しをするコードは別個のファンクションにしていますが、単純に、モデル内における
ファンクション内のコード数が長くなりすぎた場合、どの程度で別のファンクションに分けるべきでしょうか?
0550nobodyさん2010/09/05(日) 22:14:11ID:???
他人にソースを見られる時って、公衆の面前でケツを犯されているような気分になりませんか?
0551nobodyさん2010/09/05(日) 22:52:56ID:???
だからオープンソースが生まれたんだろよく考えr
0552nobodyさん2010/09/05(日) 23:50:09ID:???
>>550
そのうち快感になるから大丈夫
0553nobodyさん2010/09/06(月) 08:19:35ID:???
ド素人がPHPの正規表現について勉強してるのだが
とりあえず、URL(com/jpのみの対応)の正規表現についていろいろ試してみたのだが

(http(s|)\:\/\/|www\.)\S+\.(jp|com)(\/|)

だと、どう?

http://www.test.com/
www.test.com
www.test.com/
http://www.test.co.jp/
www.test.co.jp
www.test.co.jp/

には、マッチすることは確認した。アドバスお願いします。
0554nobodyさん2010/09/06(月) 08:47:39ID:???
勝手に制限つけたりしてるだろうから、特にアドバイスはない(というか出来ない)けど、
(s|)をs?にするとかしてみたらどうですか。
0555nobodyさん2010/09/06(月) 09:12:39ID:???
>>553
jp や com でURL判定とは考えたね。
: や / の前って\必要だっけ?
ちょっと自信ねぇや。誰かフォロー頼む




私も正規表現なのですが、スペース又は全角の)、半角の]以外の全半角1文字以上の文字に
マッチする方法ってどうすればいいのでしょうか?
0556nobodyさん2010/09/06(月) 09:56:00ID:???
ここまで自演
0557nobodyさん2010/09/06(月) 10:03:28ID:???
ごめん
0558nobodyさん2010/09/06(月) 10:23:53ID:???
コロンはエスケープいらん
スラッシュはデリミタとかぶるからだろ
0559nobodyさん2010/09/06(月) 13:02:10ID:UzPRiwoF
< 以外にマッチって
^< じゃぁ、マッチしないんだけど同記述すればいいのでしょうか?
^\< でも同じでしたorz
0560nobodyさん2010/09/06(月) 13:06:28ID:???
まぁデリミタ変えたほうがすっきりするんだけどね
で、URLをどこまで対応するかにもよるよね
ID,PASS,ポート番号をURLに含める事もできるし
そしてドメインなんて新しいのもでてくるしね
まぁあるかないか(s|)って書いてる所は上でも書かれてるけどs?で良い
0561nobodyさん2010/09/06(月) 13:12:18ID:???
>>559
[^く]
0562nobodyさん2010/09/06(月) 13:13:34ID:???
まだまだ自演
0563nobodyさん2010/09/06(月) 13:31:45ID:UzPRiwoF
>>561
http://www.rider-n.sakura.ne.jp/regexp/regexp.php

ここで試してもなぜかマッチしてしまうorz
0564nobodyさん2010/09/06(月) 13:45:23ID:???
>>563
マッチしないが
前後の正規表現が悪いんだろ?
0565nobodyさん2010/09/06(月) 14:29:47ID:???
$hoge = "<font color=\"red\">"
$hoge = ''<font color="red">'

この違いがいまいちわかりません。
エロイ人教えて
0566nobodyさん2010/09/06(月) 14:31:47ID:???
$hoge = "<font color=\"red\">"
$hoge = '<font color="red">'

この違いがいまいちわかりません。
エロイ人教えて


修正しました。
0567nobodyさん2010/09/06(月) 14:39:54ID:???
>>565-566
上はダブルコーテーションで文字列を囲っているため
文字列内にダブルコーテーションがでてくると、
そこで文字列が終わりだと判断されるため、そうならないように\でエスケープしている

下はシングルコーテーションで文字列を囲っているため
文字列内にダブルコーテーションがでてきても、
そこで文字列が終わりだと判断されないため、エスケープする必要が無い

例では関係無いが、文字列内に変数を使う場合
ダブルコーテーションでは変数が展開され、
シングルコーテーションでは展開されないという違いもあるから注意

あと次からID
0568nobodyさん2010/09/06(月) 15:04:38ID:6zgB2gTn
わざわざ、ありがとうございました。
最後に、$0 $1 $2 \0 \1 \2 とかあるけど
どういう意味なんでしょうか?
試しに出力させてみたが、いまいち共通点がわかりません。
0569nobodyさん2010/09/06(月) 15:37:58ID:???
マニュアル嫁
0570nobodyさん2010/09/06(月) 15:44:49ID:EUjFvh1N
$1 とかで検索しても$が虫されるのでHITされなかったりwww
0571nobodyさん2010/09/06(月) 16:37:28ID:h/N0GRG6
$test が 012 以外の文字で始まる場合
abc を頭に付け足して abc012 にしたい場合
どうすればいいのでしょうか?
0572nobodyさん2010/09/06(月) 17:32:19ID:???
>>568
正規表現の後方参照

>>571
$res = ($test[0] == '0' || $test[0] == '1' || $test[0] == '2' ) ? $test : 'abc'.$test;
0573nobodyさん2010/09/06(月) 17:51:38ID:AkaNDM+f
Zend FrameworkのMVCモデルを使ってます。
エラーになった場合、ほとんどのケースで
'Invalid controller specified (error)'
のエラーメッセージしかでなくてどのが悪いのか
みつけるのにすごく時間がかかるのですが、
これが普通なのでしょうか?
0574nobodyさん2010/09/06(月) 20:39:01ID:???
>>571
$res = substr($test, 0, 3) === '012' ? $test : 'abc'.$test;
0575nobodyさん2010/09/06(月) 21:48:54ID:???
$res = in_array($test[0], array('0', '1', '2')) ? $test : 'abc'.$test;
0576nobodyさん2010/09/06(月) 23:54:22ID:EUjFvh1N
basic でいう if then ってphpでどれに当たるの?
もし、○○であれば こういう処理。違ったらこういう処理みたいなやつ。
0577nobodyさん2010/09/06(月) 23:59:10ID:???
ふつーにif文
0578nobodyさん2010/09/07(火) 04:15:33ID:At2NRpWG
PHPてgoto使える?
0579nobodyさん2010/09/07(火) 04:36:38ID:???
上の方でbasic云々の質問してた人なんだろうけど
gotoなんか使わなくても処理かけるから
使わずに処理する事を考えた方が良い

一応5.3以降ならラベルつけてgotoでそのラベルに飛ばす事はできる
0580nobodyさん2010/09/07(火) 08:00:04ID:???
$0 が 半角文字の数字か英語から始まるのですが
それ以外の文字だと、** を頭につける方法を探していたら
グーグルからこのスレに辿りつきました。
>>572
>>574
>>575
これらの書き込みが応用できると思うのですがどれがオススメでしょうか?
0581nobodyさん2010/09/07(火) 09:55:11ID:???
その条件なら正規表現使おうよ
0582nobodyさん2010/09/07(火) 16:48:14ID:el7JUPL1
おい PDOについてこの認識であってるか教えてくれ
//テーブルは以下で作成
//create table hoge( aaa text,bbb int,ccc text);
$aaa = "あいうえお";
$bbb = 1;
$ccc = "かきくけこ";

//接続
$dbh = new PDO(DSN, DUNAME, DPASS);
//パターン1/////////////////////////////////

$sql = "insert into hoge (aaa ,bbb, ccc) values(:aaa,:bbb,:ccc)";
$stmt->bindParam(":aaa",$aaa);
$stmt->bindParam(":bbb",$bbb);
$stmt->bindParam(":ccc",$ccc);
$stmt->execute();

↑はうまくいくが
////////////////////////////////////////////
↓はだめなのか?


$sql = "insert into hoge (aaa ,bbb, ccc) values(:aaa,1,:ccc)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(":aaa",$aaa);
$stmt->bindParam(":ccc",$ccc);
////////////////////////////

ほんとうに後者はだめなの?
個人的には糞仕様な気がする・・・・
0583nobodyさん2010/09/07(火) 16:51:20ID:???
>>582
そんなの普通に出来るはずだけどなぁ。エラー晒したほうがいいと思う。
■ このスレッドは過去ログ倉庫に格納されています